【问题标题】:What is the difference between HTTP Post URL with /post and without using Python requests module?带有 /post 和不使用 Python requests 模块的 HTTP Post URL 有什么区别?
【发布时间】:2014-05-07 06:55:07
【问题描述】:
我使用 Python 2.7 和 requests 模块来发送带有参数的 http post。我遇到了一个奇怪的问题。
做http post,就一行;
x = requests.post(URL, params)
params 没有问题。让我困惑的是URL。
有时,此 URL http://hostname/path/post 有效。有时,我使用http://hostname/path 而不使用/post 来使HTTP 帖子正常工作。我很困惑为什么会这样。两者有什么区别?我在什么情况下使用哪一个?
【问题讨论】:
标签:
python
python-2.7
http-post
python-requests
【解决方案1】:
'http://hostname/path/post' 是一个路径。原则上,您可以向同一路径发出 HTTP GET 请求(尽管您可能不会得到任何有意义的返回)。
一般来说,您应该查看网站的 API 文档并发布到他们说您应该发布到的 url,而不要在 url 中添加任何额外内容。
【解决方案2】:
有两个不同的概念,url 和 HTTP 方法。你会因为试图混合它们而感到困惑。
url - 你与之交谈的地址
该网址正在处理某些服务器上的某些内容。如果你得到有效的 url,你可以把它当作一个字符串,不要读入,然后使用它。认为它是一个字符串。
如果我将它链接到来访的你的朋友,网址是要来的门的地址。
HTTP 方法(POST、GET、DELETE...)
有多种 HTTP 方法,它们的方式不同,你如何与给定的 url 对话。
将其与拜访朋友联系起来,就是这样,您尝试打开门(使用铃铛,敲门或使用锤子)