http响应与站点和代码输出有什么不同?

时间:2017-04-02 12:56:05

标签: python http luis

我通过执行以下代码使用Python获得http响应:

conn = httplib.HTTPSConnection('westus.api.cognitive.microsoft.com')

conn.request("GET", "/something/somethig")
response = conn.getresponse()
#data = response.read()
data =json.load(response)
print(data)

结果显示了API结果列表。

但它们与执行的和我手动访问westus.api.cognitive.microsoft.com/something/something网站时不同。

有人可以告诉我这里有什么问题吗?

1 个答案:

答案 0 :(得分:0)

脚本中的请求与浏览器中的请求之间存在许多不同之处。首先,您的脚本不会从页面执行任何关联的JavaScript。其次,http请求的标头包含请求客户端的详细信息。

例如,对于REST接口,服务器可以将最新的JSON返回给应用程序请求,并返回格式化页面以用于浏览器请求。

在Chrome中,您可以使用" ..." - >"更多工具" - >"开发人员工具"打开开发人员工具,以及打开后,您可以打开所有请求并查看标题:

Chrome view of request headers

Firefox中有一个类似的功能来查看标题。点击汉堡包 - >"开发人员" - >" Web控制台"。在" Net"您可以过滤请求。单击请求以查看详细信息。

enter image description here

对于POST命令,还要查看请求的正文。

最后,上周,我试图用Java自动化POST命令,这样做有些困难。一位同事能够使用curl命令进行调用,这给了我关于关键参数的足够线索。因此,我建议尝试使用curl来帮助区分关键参数和意外参数,或者至少从另一个角度来看问题。