编程语言
首页 > 编程语言> > 尝试对python httplib中的无法访问的网络进行套接字操作

尝试对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