Автор | Сообщение |
|
| |
Пост N: 46
Зарегистрирован: 03.02.12
|
|
Отправлено: 26.01.15 16:03. Заголовок: Http post запрос
Подскажите, пожалуйста, как сделать Http post запрос по определенному URL? Какие необходимо библиотеки подключать? Может кто уже реализовывал...
|
|
|
Ответов - 5
[только новые]
|
|
|
| |
Пост N: 4424
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.01.15 16:32. Заголовок: Dazzler пишет: Http..
Dazzler пишет: вот это вбей в поиск и выбери искать все слова а вообще tIPClientHTTP (из HBTIP) METHOD Post( xPostData, cQuery )
|
|
|
|
| постоянный участник
|
Пост N: 467
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.01.15 16:35. Заголовок: Dazzler пишет: как с..
|
|
|
|
| постоянный участник
|
Пост N: 3929
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.01.15 17:05. Заголовок: \MiniGUI\SAM..
\MiniGUI\SAMPLES\Advanced\Downloader
|
|
|
|
| |
Пост N: 47
Зарегистрирован: 03.02.12
|
|
Отправлено: 27.01.15 09:36. Заголовок: Спасибо! ..
Спасибо!
|
|
|
|
| |
Пост 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
|
|
|
|