Что нового

HttpPost не работает

havi

Новичок
Сообщения
30
Репутация
1
Функция
Код:
Global $post = HttpPost("http://gametop.pro/sauth.php/feature/C6F82AF6FC1E2F51B0D8847706E52B6A")

возвращает 0, при том, что по сути все должно работать и должно возвращать "(2)=mage_shield1#"
Помогите разобраться
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
havi,
Это не нативная функция, что она делает и как?
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1
madmasles сказал(а):
havi,
Это не нативная функция, что она делает и как?

Посылает пост запрос.
В данном случае возвращает 0, когда должна вернуть содержимое строки
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1
madmasles сказал(а):
havi [?]
Посылает пост запрос.
Вот и покажите код этой функции. :mad:

А, сейчас :smile:

Код:
#include-once

Global Const $HTTP_STATUS_OK = 200

Func HttpPost($sURL, $sData = "")
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")

$oHTTP.Open("POST", $sURL, False)
If (@error) Then Return SetError(1, 0, 0)

$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")

$oHTTP.Send($sData)
If (@error) Then Return SetError(2, 0, 0)

If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)

Return SetError(0, 0, $oHTTP.ResponseText)
EndFunc

Func HttpGet($sURL, $sData = "")
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")

$oHTTP.Open("GET", $sURL & "?" & $sData, False)
If (@error) Then Return SetError(1, 0, 0)

$oHTTP.Send()
If (@error) Then Return SetError(2, 0, 0)

If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)

Return SetError(0, 0, $oHTTP.ResponseText)
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
havi,
По-моему, Post запрос подразумевает отправку данных, а Вы ничего не отправляете.
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1
madmasles сказал(а):
havi,
По-моему, Post запрос подразумевает отправку данных, а Вы ничего не отправляете.

Данные идут после последнего слэша.
Код:
HttpPost("http://gametop.pro/sauth.php/register/"  & "/" & $aut)

Это работает, там просто чуток измененный запрос
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
havi [?]
Данные идут после последнего слэша.
Попробуйте или отправлять так через GET, или через Post, но $aut отправлять как $sData.
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1
madmasles сказал(а):
havi [?]
Данные идут после последнего слэша.
Попробуйте или отправлять так через GET, или через Post, но $aut отправлять как $sData.

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

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Лучше приведите нам код полностью, который у Вас не работает. Так как у Вас на данной странице установлена базовая авторизация, и естественно, она без прохождения авторизации ничего не вернет.
 
Автор
H

havi

Новичок
Сообщения
30
Репутация
1
Все,понял в чем была проблема. Спасибо всем, кто пытался помочь
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
havi,
Вот так работает:
Код:
Global $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')

$oHTTP.Open('GET', 'http://gametop.pro/sauth.php/check/FFE4C34B228C89AF61D5BA74F8C2ACA3/466150645BD2EACB4CFE55CB20A647A1')
$oHTTP.Send('')
ConsoleWrite('Status: ' & $oHTTP.Status & @LF)
ConsoleWrite('ResponseText: ' & $oHTTP.ResponseText & @LF)
ConsoleWrite('---' & @LF)

$oHTTP.Open('GET', 'http://gametop.pro/sauth.php/feature/C6F82AF6FC1E2F51B0D8847706E52B6A')
$oHTTP.Send('')
ConsoleWrite('Status: ' & $oHTTP.Status & @LF)
ConsoleWrite('ResponseText: ' & $oHTTP.ResponseText & @LF)
Надо оба запроса делать из одного объекта.
 
Верх