草庐IT

python - 使用 POST 和 urllib2 访问 Web API

我正在尝试使用POST技术访问WebAPI。我能够使用GET技术访问它,但API所有者告诉我某些功能仅适用于POST。不幸的是,我似乎无法让POST工作。以下是GET的作用:API_URL="http://example.com/api/"defcall_api(method,**kwargs):url=API_URL+methodifkwargs:url+='?'+urllib.urlencode(kwargs)req=urllib2.Request(url)auth='Basic'+base64.urlsafe_b64encode("%s:%s"%(USER,PASS))req.a

python - 在 Python 2.7 中导入 'urllib3.util' 失败?

我正在处理其他人编写的Python脚本。我试图让它在我的本地开发机器上正常运行。我已经安装了脚本所需的模块(requests、urllib3和oath2),但是我遇到了以下错误,我正在努力解决;Traceback(mostrecentcalllast):File"/home/saeed/ps4/scrape/run.py",line2,inimportget_dataasgd,timeFile"/home/saeed/ps4/scrape/get_data.py",line8,inimportsys,oauth2,requests,jsonFile"/usr/local/lib/pyt

python - 如何强制 urllib2 超时?

我想测试我的应用程序在通过urllib2抓取数据时对超时的处理,我想有一些方法来强制请求超时。找不到非常非常慢的互联网连接,我可以使用什么方法?我似乎记得一个有趣的应用程序/套件,用于模拟这些事情。也许有人知道链接? 最佳答案 我通常使用netcat监听本地机器的80端口:nc-l80然后我使用http://localhost/作为我的应用程序中的请求URL。Netcat将在http端口回答,但永远不会给出响应,因此只要您在urllib2.urlopen()调用中或通过调用socket.setdefaulttimeout()。

python - 为什么我的程序在 urllib3 记录开始新的 HTTPS 连接后挂起?

我正在尝试诊断我的某些celery工作进程似乎挂起几分钟的问题。我有许多任务会进行多次IO调用(通常是对第三方API)。在任何给定的工作中,我可能会向各种API发出数千个请求。我查看了日志,它们都有一个共同点:它们在urllib3连接到远程url后挂起。在我的工作结束时(大约需要30分钟),通常会有一些任务挂起。这是我用来断定urllib3是罪魁祸首的日志示例:Jul0804:46:26app/worker.1:[INFO/MainProcess][???(???)]celery.worker.strategy:Receivedtask:my_celery_task[734a49f6-

python urllib2 计时

我想收集与网络请求的每个阶段所花费的时间相关的统计信息。httplib提供:defrun(self):conn=httplib.HTTPConnection('www.example.com')start=time.time()conn.request('GET','/')request_time=time.time()resp=conn.getresponse()response_time=time.time()conn.close()transfer_time=time.time()self.custom_timers['requestsent']=request_time-sta

python - 如何在 Python 中使用 urllib2 的 urlopen 关闭超时的 http POST?

概览我正在使用Python2.7.1urllib2包中的urlopen从WindowsXP机器到远程Apache网络服务器(例如MacOSX的内置网络共享)执行HTTPPOST。发送的数据包含一些标识符、数据和校验和,如果发送了所有数据,服务器将以确认响应。数据中的校验和可用于检查所有内容是否按顺序到达。问题通常这很好用,但有时互联网连接不好,通常是因为发送数据的客户端使用wifi或3G连接。这会导致互联网连接丢失一段时间。urlopen包含一个超时选项,以确保这不会阻止您的程序并且它可以继续。这就是我想要的,但问题是urlopen不会阻止套接字继续发送超时发生时仍必须发送的任何数据。

python - 为什么 urllib.urlencode 会在我的字典值中添加方括号和单引号?

我正在尝试编写一个可以解析url并从中获取查询参数的脚本。到目前为止,我基本上已经明白了,但是urllib.urlencode在我认为不应该的时候向我的值添加了方括号和单引号。这很可能是我的误解,所以如果有人能解释为什么会发生这种情况以及如何避免这种情况,我将非常感激。这是我的脚本:#/usr/bin/pythonimporturlparseimporturlliburl='https://mysite.com?Action=ParseUrl'parsed_url=urlparse.urlparse(url)query_params=urlparse.parse_qs(parsed_u

Python3 urllib.request 不会立即关闭连接

我有以下代码来运行连续循环以从网站获取一些内容:fromhttp.cookiejarimportCookieJarfromurllibimportrequestcj=CookieJar()cp=request.HTTPCookieProcessor(cj)hh=request.HTTPHandler()opener=request.build_opener(cp,hh)whileTrue:#buildurlreq=request.Request(url=url)p=opener.open(req)c=p.read()#processcp.close()#checkforabortcon

Python urllib 和 urllib2 不打开本地主机 URL?

在Python中,我可以使用urllib2(和urllib)打开外部URL,例如Google。但是,我在打开本地主机URL时遇到了问题。我有一个在端口8280上运行的pythonSimpleHTTPServer,我可以使用http://localhost:8280/成功浏览它.python-mSimpleHTTPServer8280还值得注意的是,我正在运行Ubuntu,它运行CNTLM来处理对我们公司Web代理的身份验证。因此,wget实际上也不适用于localhost,所以我认为这不是urllib问题!测试脚本(test_urllib2.py):importurllib2print

Python 3,urllib POST 提交

我想编写一个Python脚本来自动登录到我的宽带使用计量帐户。我以前从未做过POST提交,但遇到了一些麻烦。importurllib.request,urllib.parse,urllib.errorimportsockettry:details=urllib.parse.urlencode({'IDToken1':'USERNAME','IDToken2':'PASSWORD'})url=urllib.request.Request('https://login1.telecom.co.nz/distauth/UI/Login?realm=XtraUsers&goto=https%3