On-line: Andrey, гостей 0. Всего: 1 [подробнее..]
АвторСообщение



Пост N: 46
Зарегистрирован: 03.02.12
ссылка на сообщение  Отправлено: 26.01.15 16:03. Заголовок: Http post запрос


Подскажите, пожалуйста, как сделать Http post запрос по определенному URL? Какие необходимо библиотеки подключать? Может кто уже реализовывал...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


администратор




Пост N: 4424
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.01.15 16:32. Заголовок: Dazzler пишет: Http..


Dazzler пишет:

 цитата:
Http post


вот это вбей в поиск и выбери искать все слова
а вообще tIPClientHTTP (из HBTIP) METHOD Post( xPostData, cQuery )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 467
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.01.15 16:35. Заголовок: Dazzler пишет: как с..


Dazzler пишет:
 цитата:
как сделать Http post


гляньте шаблоны (html) *.tpl и prg на предмет POST:
http://www.dbtopas.lt/hrb/uhttpd-0.3.zip

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3929
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.01.15 17:05. Заголовок: \MiniGUI\SAM..


\MiniGUI\SAMPLES\Advanced\Downloader

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 47
Зарегистрирован: 03.02.12
ссылка на сообщение  Отправлено: 27.01.15 09:36. Заголовок: Спасибо! ..


Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 323
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 27.01.15 12:43. Заголовок: to Dazzler Подключ..


to Dazzler

Подключите библиотеку hbtip (tip in xharbour).
Примеры использования есть в исходниках к (x)Harbour.

Пример использования:

 
FUNCTION Main
LOCAL oUrl, oInternet
LOCAL cData, cRet
LOCAL cParam1 := "Pippo", cParam2 := "Pluto", cParam3 := "Paperino"
//parameters sample

oUrl := TURL():New( "http://localhost:8080")
oUrl:cPath := "/myapp"

oInternet := TIPClientHTTP():New(oUrl)
oInternet:cUserAgent := "Mozilla/4.0 (compatible; MSIE 5.01; Windows
NT 5.0)"

cData := ""
oUrl:cFile := "prova.php"
WITH OBJECT oInternet
IF :Open()
IF :Post("p1=" + cParam1 + "&p2=" + cParam2 + "&p3=" + cParam3)
DO WHILE !Empty((cRet:=:Read()))
cData += cRet
ENDDO
ENDIF
ENDIF
:Close()
END WITH

? cData

RETURN Nil


Пример использования библиотеки curl :

 
#include "hbcurl.ch"

PROCEDURE Main()
LOCAL fpParams := {}

AAdd(fpParams, {"UMkey", "t53HmFZ7OYyJr3lxx1XvW966kyE0Vu8U"})
AAdd(fpParams, {"UMcommand", "cc:sale"})
AAdd(fpParams, {"UMamount", 2.34})
AAdd(fpParams, {"UMcard", 4444333322221111})
AAdd(fpParams, {"UMexpir", 1220})
AAdd(fpParams, {"UMname", "TestCPP"})

? CallFideliPay(fpParams) // GET
// ? CallFideliPay(fpParams, .T.) // POST
// ? CallFideliPay(fpParams, .T., "output.txt") // Save result to file
RETURN

/**
* Call FideliPay
*
* <params> - Request parameters {{"param1", "value1"}, {"param2", "value2"}}
* <postRequest> - Is request method POST? (default: False)
* <resultFile> - File to save result (if not defined, output is returned)
*/
FUNCTION CallFideliPay(params, postRequest, resultFile)
LOCAL cFideliPayURL := "https://secure.fidelipay.com/gate"

LOCAL curl

LOCAL requestParams := ""
LOCAL param

LOCAL result

// Default
IF(params == NIL); params := {}; ENDIF
IF(postRequest == NIL); postRequest := .F.; ENDIF

// Init cURL
curl_global_init()
curl := curl_easy_init()

// Do NOT include header in output
curl_easy_setopt(curl, HB_CURLOPT_HEADER, .F.)

// Parameters
FOR EACH param IN params
requestParams += param[1] + "=" + curl_easy_escape(curl, AllTrim(HB_ValToStr(param[2]))) + "&"
NEXT

// Removes trailing &
IF(LEN(requestParams) > 0)
requestParams := LEFT(requestParams, LEN(requestParams) - 1)
ENDIF

IF(postRequest)
// POST request
curl_easy_setopt(curl, HB_CURLOPT_POST, .T.)
curl_easy_setopt(curl, HB_CURLOPT_POSTFIELDS, requestParams)
curl_easy_setopt(curl, HB_CURLOPT_URL, cFideliPayURL)
ELSE
curl_easy_setopt(curl, HB_CURLOPT_URL, cFideliPayURL + "?" + requestParams)
ENDIF

// Save result to file?
IF(resultFile != NIL)
curl_easy_setopt(curl, HB_CURLOPT_DL_FILE_SETUP, resultFile)
result := .T.
ELSE
curl_easy_setopt(curl, HB_CURLOPT_DL_BUFF_SETUP)
ENDIF

// Execute
curl_easy_perform(curl)

// Load result from buffer into variable
IF(result == NIL)
result := curl_easy_dl_buff_get(curl)
ENDIF

curl_easy_cleanup(curl)
curl_global_cleanup()
RETURN result


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет