Python 如何将数据发布到特定url?

Python 如何将数据发布到特定url?,python,Python,我想在特定的url中发布一些数据,比如http://localhost:8000/postme/。但我还不知道形式。所以,我想测试它没有任何形式。那么,如何在没有任何表单的情况下将数据发布到url?我想查看对web浏览器的响应。您可以使用jQuery发布Ajax帖子。有关API,请参见第页 或者对于Python,可以使用httplib。有关API,请参见第页。下面是一个例子: >>> import httplib, urllib >>> params = ur

我想
在特定的url中发布一些数据,比如
http://localhost:8000/postme/
。但我还不知道形式。所以,我想测试它没有任何形式。那么,如何在没有任何表单的情况下将数据发布到url?我想查看对web浏览器的响应。

您可以使用jQuery发布Ajax帖子。有关API,请参见第页

或者对于Python,可以使用
httplib
。有关API,请参见第页。下面是一个例子:

>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
...            "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()

您可以使用jQuery编写Ajax文章。有关API,请参见第页

或者对于Python,可以使用
httplib
。有关API,请参见第页。下面是一个例子:

>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
...            "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()

您可以为此使用
curl

curl -F "name=jonesy" http://localhost:8080/postme
或者您可以使用twill python模块(它也有一个shell接口):

……这些链接会一直持续下去,但你明白了重点。您可以像我在这里所做的那样在shell中使用twill,也可以在python脚本的twill.commands模块中将这些命令作为方法调用


当然,您可以离开twill shell并打开文件“search”(在本例中)以查看进入浏览器的实际html

您可以使用
curl
进行以下操作:

curl -F "name=jonesy" http://localhost:8080/postme
或者您可以使用twill python模块(它也有一个shell接口):

……这些链接会一直持续下去,但你明白了重点。您可以像我在这里所做的那样在shell中使用twill,也可以在python脚本的twill.commands模块中将这些命令作为方法调用


当然,您可以离开twill shell并打开文件“search”(在本例中)以查看进入浏览器的实际html

但这不会显示对web浏览器的响应。我想查看对web浏览器的响应。@ajax ie:然后在
conn.close()
之前添加一个
print data
。这不是我的查询。我想将数据打印到浏览器中。为此,我尝试导入webbroser,然后导入webbroser.open(url,数据),但它不起作用。但这不会显示对web浏览器的响应。我想查看对web浏览器的响应。@ajax ie:然后在
conn.close()
之前添加一个
print data
。这不是我的查询。我想将数据打印到浏览器中。为此,我尝试导入webbroser,然后导入webbroser.open(url、数据),但它不起作用。