Составить запрос в API для проверки работоспособности прокси сервера на Python?

62864ef317b73254936426.png

Помогите составить API запрос для проверки прокси сервера. У меня мало опыта в использовании библиотеки requests.

Вот код который я написал
import requests

r = requests.post('http://proxy-checker.net/api/proxy-checker/?proxy_list=[203.13.32.122:80]')

print(r)


В ответ получаю Response [405]
  • Вопрос задан
  • 484 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
405 возвращает потому что в доке ошибочно http:// вместо https://, который приводит к редиректу на https:// с GET. Это лечится заменой на https.

Следующая стадия - полечить ответы об ошибках. Они в ответ возвращают json со строкой, в которой json. Поэтому проверяем, если r.json() текст - интерпретируем как json.

Сами прокси передавать в POST-запросе через перенос строки в параметре proxy_list:

import requests
import json

data = '203.13.32.122:80\n203.13.32.122:443'
r = requests.post('https://proxy-checker.net/api/proxy-checker/', data={"proxy_list": data })

print (r)

resp_json = r.json()
if isinstance(resp_json, str):
  resp_json = json.loads(r.json())
print (json.dumps(resp_json, indent=2, ensure_ascii=False))


Короче, очень кривой API...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Скорее всего как-то так

data = {'proxy_list': [''203.13.32.122:80']}
r = requests.post('http://proxy-checker.net/api/proxy-checker/', data=data)

либо
r = requests.post('http://proxy-checker.net/api/proxy-checker/', json=data)


в зависимости от типа контента. Скорее всего второе
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы