Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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 如何从GET请求中获取响应状态代码?_Python_Url_Get_Endpoint - Fatal编程技术网

Python 如何从GET请求中获取响应状态代码?

Python 如何从GET请求中获取响应状态代码?,python,url,get,endpoint,Python,Url,Get,Endpoint,嗨,我对python编程非常陌生。这里我试图编写一个python脚本,它将使用get请求获取状态代码。我可以为单个URL做这件事,但如何在一个脚本中为多个URL做这件事。 下面是我编写的基本代码,它将从url获取响应代码 import requests import json import jsonpath #API URL url = "https://reqres.in/api/users?page=2" #Send Get Request response = requests.get

嗨,我对python编程非常陌生。这里我试图编写一个python脚本,它将使用get请求获取状态代码。我可以为单个URL做这件事,但如何在一个脚本中为多个URL做这件事。 下面是我编写的基本代码,它将从url获取响应代码

import requests
import json
import jsonpath

#API URL
url = "https://reqres.in/api/users?page=2"

#Send Get Request
response = requests.get(url)
if response:
    print('Response OK')
else:
    print('Response Failed')

# Display Response Content
print(response.content)
print(response.headers)

#Parse response to json format
json_response = json.loads(response.text)
print(json_response)

#Fetch value using Json Path
pages = jsonpath.jsonpath(json_response,'total_pages')
print(pages[0])

您可以使用response.status\u代码访问状态代码

您可以将代码放入这样的函数中

def treat_url(url):
response=requests.get(url)
如果回答:
打印('响应正常')
其他:
打印('响应失败')
#显示响应内容
打印(response.content)
打印(响应.标题)
#解析对json格式的响应
json_response=json.load(response.text)
打印(json_响应)
#使用Json路径获取值
pages=jsonpath.jsonpath(json_响应,'total_pages')
打印(第[0]页)
并有一个URL列表并迭代抛出:

url\u list=[“www.google.com”https://reqres.in/api/users?page=2"]
对于url_列表中的url:
处理url(url)
试试这段代码

import requests


with open("list_urls.txt") as f:
    for url in f:
           response = requests.get(url)
           print ("The url is ",url,"and status code is",response.status_code)

我希望这能有所帮助。

一些建议,问题本身不是很清楚,所以一个好的表达方式对这里的所有贡献者都是有用的:)

现在我能理解的是,你可以做一些修改:

response=requests.get(url)
你总是会得到一个response对象,我想你可能想在这里检查状态码,你可以通过
response.status\u code
来完成,根据你得到的结果,你可以说你是否得到了成功的响应

关于循环,您可以将response JSON中的
last page
检查为
response\u JSON['last\u page']
,并在
范围(2,last\u page+1)
上运行for循环,并在URI中附加页码以获取单个页面响应

您可以直接从response对象
response.JSON()

请参阅
requests
doc

谢谢angel它可以工作,但我的问题是如何一次循环多个url,比如说100 may beThanks它可以工作。假设一个案例。我将所有url保存在一个文件中,例如:url.list,我想用python脚本调用该文件(url.list)。可能吗?因为我有超过100个URL要检查。我知道如何在shell中完成,但不知道如何在python中完成。请帮助me@SameerSheik我已经根据您的要求更改了代码。list_urls.txt文件表示100+个URL文件。现在您可以获得每个url