python 网络通信
时间: 2023-08-28 07:16:42 浏览: 105
python通信
Python提供了多种库和模块来进行网络通信。其中,常用的是urllib和requests模块。
通过使用urllib模块,可以实现GET请求和POST请求。GET请求可以使用urllib.request的urlopen方法来发送请求并读取响应数据。下面是一个例子:
```python
import urllib.request
url = 'http://localhost:8080/NoteWebService/note.do?action=query&ID=10'
req = urllib.request.Request(url)
with urllib.request.urlopen(req) as response:
data = response.read()
json_data = data.decode()
print(json_data)
```
这个例子展示了如何发送一个GET请求并打印返回的JSON数据。
如果要发送POST请求,可以使用urllib.request的urlopen方法,并在请求中指定请求方法为POST。同时,还需要通过urllib.parse模块将请求的参数进行编码。下面是一个发送POST请求的例子:
```python
import urllib.request
import urllib.parse
url = 'http://localhost:8080/NoteWebService/note.do'
data = urllib.parse.urlencode({'action': 'query', 'ID': '10'}).encode()
req = urllib.request.Request(url, data=data) # 指定请求方法为POST,并将参数编码后作为请求体
with urllib.request.urlopen(req) as response:
data = response.read()
json_data = data.decode()
print(json_data)
```
这个例子展示了如何发送一个带有参数的POST请求,并打印返回的JSON数据。
另外,还可以使用requests模块来进行网络通信。这个模块提供了更简洁和方便的接口。下面是一个使用requests模块发送GET请求的例子:
```python
import requests
url = 'http://localhost:8080/NoteWebService/note.do?action=query&ID=10'
response = requests.get(url)
json_data = response.text
print(json_data)
```
这个例子展示了如何使用requests模块发送一个GET请求并打印返回的JSON数据。
总结起来,Python提供了多种库和模块来进行网络通信,其中urllib和requests是常用的两个模块。通过它们,可以实现GET请求和POST请求,并处理返回的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [(十三)python网络通信](https://blog.csdn.net/m0_56517198/article/details/128943900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [python_网络和网络通信](https://blog.csdn.net/cwy0502/article/details/93058042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文