以下javahttpget请求的等效Python代码

2024-10-06 10:56:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将以下Java代码转换为Python。我不确定我做错了什么,但我最终在python中出现了一个内部服务器错误500。在

httplib.httpConnection方法中的“body”是否等同于Java httpentity? 还有什么其他的想法吗? 我收集的输入信息肯定是正确的。在

任何帮助都将非常感谢。我尝试了几种方法,但最终还是出现了相同的内部服务器错误。在

Java代码:

HttpEntity reqEntitiy = new StringEntity("loginTicket="+ticket);
HttpRequestBase request = reMethod.getRequest(uri, reqEntitiy);
request.addHeader("ticket", ticket);
HttpResponse response = httpclient.execute(request);
HttpEntity responseEntity = response.getEntity();
StatusLine responseStatus = response.getStatusLine();

Python代码:

^{pr2}$

Tags: 方法代码服务器信息responserequest错误body
1条回答
网友
1楼 · 发布于 2024-10-06 10:56:30

你不需要这么低的水平。改为使用urllib2

import urllib2
from urllib import urlencode

url = "{}resources/slmservices/templates/{}/options".format(
    serverURL, templateId)
headers = {"ticket": ticket}
params = {"loginTicket": ticket}
url = '{}?{}'.format(url, urlencode(params))

request = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(request)
print 'Status', response.getcode()
print 'Response data', response.read()

请注意,这些参数被添加到URL以形成URL查询参数。在

您还可以通过安装^{} library来简化此操作:

^{pr2}$

这里requests负责URL编码URL查询字符串参数并将其添加到URL中,就像Java一样。在

相关问题 更多 >