Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python,是否可以直接将表单数据发送到网站服务器并在不使用浏览器的情况下接收响应?_Python_Python Requests_Mechanize - Fatal编程技术网

使用python,是否可以直接将表单数据发送到网站服务器并在不使用浏览器的情况下接收响应?

使用python,是否可以直接将表单数据发送到网站服务器并在不使用浏览器的情况下接收响应?,python,python-requests,mechanize,Python,Python Requests,Mechanize,我参加了python编程课程,因此我了解该语言的基础知识。我目前正在尝试的一个项目涉及反复提交表单,直到请求成功。为了更快地成功使用该程序,我认为通过直接从服务器发送和接收数据将浏览器从程序中删除会更快。另外,我正在为其创建程序的网站有崩溃的趋势,但我非常确定我仍然可以接收并向服务器发送响应。目前,我正在研究可以用来完成任务的各种资源。我知道mechanize很容易填写和提交表单,但它需要浏览器。因此,我的问题是,在python中使用什么资源来直接与服务器通信,而不使用浏览器,这是最好的 如果我

我参加了python编程课程,因此我了解该语言的基础知识。我目前正在尝试的一个项目涉及反复提交表单,直到请求成功。为了更快地成功使用该程序,我认为通过直接从服务器发送和接收数据将浏览器从程序中删除会更快。另外,我正在为其创建程序的网站有崩溃的趋势,但我非常确定我仍然可以接收并向服务器发送响应。目前,我正在研究可以用来完成任务的各种资源。我知道mechanize很容易填写和提交表单,但它需要浏览器。因此,我的问题是,在python中使用什么资源来直接与服务器通信,而不使用浏览器,这是最好的


如果我的知识有任何缺陷,我道歉。我确实上过这门课,但我对这门语言还是比较陌生。

是的,有很多方法可以做到这一点,但最简单的方法是第三方库

安装后,您可以执行以下操作,例如:

requests.post("https://mywebsite/path", {"key: "value"})

我从您的标签中看到,您已经决定使用请求

以下是如何使用请求执行基本POST请求:

通常,您希望发送一些表单编码的数据,很像HTML 形式。为此,只需向数据参数传递一个字典。你的 请求时,数据字典将自动进行表单编码 制造

这个例子我是从


我建议您阅读它,并尝试其他可用的示例,以便变得更加自信,并确定哪种方法最适合您的任务。

您可以在下面尝试

from urllib.parse import urlencode
from urllib.request import Request, urlopen

url = 'https://httpbin.org/post' # Set destination URL here
post_fields = {'foo': 'bar'}     # Set POST fields here

request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)

如果您想提高问题的质量,请阅读以下内容:
from urllib.parse import urlencode
from urllib.request import Request, urlopen

url = 'https://httpbin.org/post' # Set destination URL here
post_fields = {'foo': 'bar'}     # Set POST fields here

request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)