Показать сообщение отдельно

  #7201  
Старый 06.03.2024, 22:20
Sadow
Познавший АНТИЧАТ
Регистрация: 14.10.2021
Сообщений: 1,412
С нами: 2411807

Репутация: 118


По умолчанию

[QUOTE="iAmerican"]

C++:





[CODE]
size_t
WriteCallback
(
void
*
contents
,
size_t size
,
size_t nmemb
,
std
::
string
*
response
)
{
response
->
append
(
(
char
*
)
contents
,
size
*
nmemb
)
;
return
size
*
nmemb
;
}
int
main
(
)
{
CURL
*
curl
=
curl_easy_init
(
)
;
if
(
curl
)
{
std
::
string url
=
"http://google.com/api"
;
curl_easy_setopt
(
curl
,
CURLOPT_URL
,
url
.
c_str
(
)
)
;
curl_easy_setopt
(
curl
,
CURLOPT_COOKIEFILE
,
""
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEFUNCTION
,
WriteCallback
)
;
std
::
string response
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEDATA
,
&
response
)
;
CURLcode res
=
curl_easy_perform
(
curl
)
;
if
(
res
!=
CURLE_OK
)
{
std
::
cout

говнокод на c++:





Код:
#include 
#include 
#include 
using
namespace
std
;
size_t
WriteCallback
(
void
*
contents
,
size_t size
,
size_t nmemb
,
std
::
string
*
response
)
;
int
main
(
)
{
CURL
*
curl
=
curl_easy_init
(
)
;
string resp
;
smatch m
;
string token
;
curl_httppost
*
formpost
=
NULL
;
curl_httppost
*
lastptr
=
NULL
;
curl_slist
*
headers
=
curl_slist_append
(
NULL
,
"Content-Type: multipart/form-data"
)
;
if
(
curl
)
{
curl_easy_setopt
(
curl
,
CURLOPT_URL
,
"https://www.blast.hk/members/451976/"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_COOKIE
,
"xf_user=VALUE"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_HTTPHEADER
,
headers
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEFUNCTION
,
WriteCallback
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEDATA
,
&
resp
)
;
CURLcode res
=
curl_easy_perform
(
curl
)
;
if
(
res
!=
CURLE_OK
)
{
cout

0
)
token
=
m
.
str
(
1
)
;
resp
.
clear
(
)
;
curl_easy_setopt
(
curl
,
CURLOPT_URL
,
"https://www.blast.hk/members/451976/post"
)
;
curl_formadd
(
&
formpost
,
&
lastptr
,
CURLFORM_COPYNAME
,
"xfToken"
,
CURLFORM_COPYCONTENTS
,
token
,
CURLFORM_END
)
;
curl_formadd
(
&
formpost
,
&
lastptr
,
CURLFORM_COPYNAME
,
"_xfToken"
,
CURLFORM_COPYCONTENTS
,
token
,
CURLFORM_END
)
;
curl_formadd
(
&
formpost
,
&
lastptr
,
CURLFORM_COPYNAME
,
"_xfResponseType"
,
CURLFORM_COPYCONTENTS
,
"json"
,
CURLFORM_END
)
;
curl_formadd
(
&
formpost
,
&
lastptr
,
CURLFORM_COPYNAME
,
"message_html"
,
CURLFORM_COPYCONTENTS
,
"asd"
,
CURLFORM_END
)
;
curl_easy_setopt
(
curl
,
CURLOPT_HTTPPOST
,
formpost
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEFUNCTION
,
WriteCallback
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEDATA
,
&
resp
)
;
res
=
curl_easy_perform
(
curl
)
;
if
(
res
!=
CURLE_OK
)
{
cout

append
(
(
char
*
)
contents
,
size
*
nmemb
)
;
return
size
*
nmemb
;
}
 
Ответить с цитированием