Как получить код ответа на запрос о получении? - PullRequest
0 голосов
/ 08 марта 2020

Привет, я очень новичок в python программировании. Здесь я пытаюсь написать скрипт python, который получит код состояния с помощью запроса GET. Я могу сделать это для одного URL, но как это сделать для нескольких URL в одном скрипте. Вот базовый c код, который я написал, который получит код ответа от 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])

Ответы [ 3 ]

0 голосов
/ 08 марта 2020

попробуйте этот код.

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)

Надеюсь, это поможет.

0 голосов
/ 08 марта 2020

Пара предложений, сам вопрос не очень понятен, поэтому хорошая формулировка была бы полезна для всех участников здесь :) ...

Теперь перейдем к тому, что я смог понять, Есть несколько модификаций, которые вы можете сделать:

response = requests.get(url) Вы всегда получите объект ответа, я думаю, вы можете проверить здесь код состояния, который вы можете сделать с помощью response.status_code и исходя из того, что вы получаете, вы говорите, получили ли вы ответ об успешном выполнении.

и, что касается циклов, вы можете проверить last page из ответа JSON как response_json['last_page'] и запустить для l oop on range(2, last_page + 1) и добавьте номер страницы в URI для получения ответа отдельных страниц

Вы можете напрямую получить JSON из объекта ответа response.json() Пожалуйста, обратитесь к requests do c здесь

0 голосов
/ 08 марта 2020

Вы можете получить доступ к коду состояния с помощью response.status_code

. Вы можете поместить свой код в функцию, подобную этой

def treat_url(url):
    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])

И иметь список URL и повторять его:

url_list=["www.google.com","https://reqres.in/api/users?page=2"]
for url in url_list:
    treat_url(url)
...