Maison >développement back-end >Tutoriel Python >Comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET en Python 3.x

Comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET en Python 3.x

WBOY
WBOYoriginal
2023-07-30 11:28:481675parcourir

Comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET en Python 3.x

En programmation réseau, nous avons souvent besoin d'obtenir des données du serveur distant en envoyant des requêtes HTTP. En Python, nous pouvons utiliser la fonction urllib.request.urlopen() dans le module urllib pour envoyer une requête HTTP et obtenir la réponse renvoyée par le serveur. Cet article décrira comment utiliser cette fonction pour envoyer des requêtes GET.

Tout d'abord, nous devons importer le module urllib.request :

import urllib.request

Ensuite, nous pouvons utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET. Cette fonction accepte un paramètre URL de type chaîne et renvoie un objet de réponse similaire à un objet fichier. Nous pouvons utiliser la méthode read() de cet objet pour lire les données renvoyées par le serveur.

Ce qui suit est un exemple de code qui montre comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET et obtenir les données renvoyées par le serveur :

import urllib.request

def send_get_request(url):
    # 发送 GET 请求
    response = urllib.request.urlopen(url)
    
    # 读取服务器返回的数据
    data = response.read()
    
    # 将返回的数据转换为字符串并打印
    print(data.decode('utf-8'))

Dans le code ci-dessus, la fonction send_get_request() accepte un paramètre URL de type chaîne, puis utilisez la fonction urllib.request.urlopen() pour envoyer une requête GET et imprimer les données renvoyées sur la console.

Nous pouvons appeler la fonction send_get_request() pour envoyer une requête GET comme suit :

url = 'http://www.example.com'
send_get_request(url)

Le code ci-dessus enverra une requête GET à http://www.example.com puis imprimera les données renvoyées par le serveur.

Il est à noter que la valeur de retour de la fonction urllib.request.urlopen() est un objet de réponse similaire à un objet fichier. Nous pouvons obtenir d'autres informations renvoyées par le serveur, telles que le code de réponse et la réponse, en appelant certains. méthodes de cet objet. Voici un exemple de code pour obtenir le code de réponse et les en-têtes de réponse :

import urllib.request

def send_get_request(url):
    # 发送 GET 请求
    response = urllib.request.urlopen(url)
    
    # 打印响应码
    print('Response Code:', response.getcode())
    
    # 打印响应头
    print('Response Headers:', response.getheaders())
    
    # 读取服务器返回的数据
    data = response.read()
    
    # 将返回的数据转换为字符串并打印
    print(data.decode('utf-8'))

Résumé

Cet article explique comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET et obtenir les données renvoyées par le serveur. En appelant cette fonction, nous pouvons facilement envoyer une requête au serveur distant et obtenir la réponse. Dans le même temps, nous pouvons également obtenir d'autres informations telles que le code de réponse et l'en-tête de réponse en appelant la méthode de l'objet de réponse. J'espère que cet article sera utile à tout le monde lors de l'utilisation de Python pour la programmation réseau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn