尝试对python httplib中的无法访问的网络进行套接字操作
作者:互联网
我正在尝试使用httplib从django创建一个REST客户端.但它拒绝连接
我尝试了以下内容
import hashlib
import hmac
from django.shortcuts import render_to_response
from django.template import RequestContext
def loginAction(request):
username=request.POST['email']
password=request.POST['password']
import httplib, urllib
params = urllib.urlencode({'username': username})
#hash username here to authenticate
digest=hmac.new("qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50", str(request.POST['password']),hashlib.sha1).hexdigest()
auth=username+":"+digest
headers = {"Content-type": "application/json","Accept": "text/plain","Authorization":auth}
conn = httplib.HTTPConnection("10.0.2.2",8000)
conn.request("POST", "/api/ecp/profile/", params, headers)
但是给出了以下错误
[Errno 10051] A socket operation was attempted to an unreachable network
coluld是什么问题?
感谢你
解决方法:
该错误表示您运行此脚本的计算机无法访问目标IP地址(10.0.2.2),因为它没有从一个到另一个配置的网络路由.
这是内部网络的问题(10.x.x.x IP地址始终是专用网络地址).如果您在与您尝试访问的计算机不同的网络上运行此脚本,则需要使用公共IP地址.
标签:python,rest,django,httplib 来源: https://codeday.me/bug/20191008/1874374.html