Korzystam z VS 2008 Professional i zastanawiam się czy istnieje standardowa biblioteka, za pomocą której mógłbym wysyłać zapytania do serwera? Z tego co czytam będzie trzeba doinstalować bibliotekę curl, ale sama instalacja to dla mnie czarna magia. Może ktoś pomóc?
W C++/CLI czyli .Net jest System.Net.WebClient
W C++ 'normalnym' nie ma nic standardowego - co najwyzej mozna za takowe uznac sockety i wysylanie zapytan 'recznie', ostatecznie to tylko tekst. Tez wiec polecam cURL. Ew. jezeli korzystasz juz z boost, mozesz zerknac na asio i jego sample: http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/example/http/client/async_client.cpp acz jest to dosc, hm, ograniczony klient
co do instalacji cURL.. w czym masz problem..? nie wierzę żebyś nie dał rady znalezc prekompilowanej wersji, a jeśli już taką masz w ręku, wystarczy w opcjach projektu dodać ścieżki do jej .h/.lib
Piszę w C++/CLI więc wykorzystam standardową bibliotekę. Napisałem coś takiego:
#include <iostream>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
using namespace std;
int main()
{
// Initialize the WebRequest.
WebRequest^ myRequest = WebRequest::Create( "http://sms.orange.pl/rotate_token.aspx?token=" );
myRequest->Method="GET";
myRequest->ContentType="application/x-www-form-urlencoded";
// Return the response.
WebResponse^ myResponse = myRequest->GetResponse();
// Code to use the WebResponse goes here.
Console::Write( myResponse );
// Close the response to free resources.
myResponse->Close();
system("pause");
}
Dlaczego wywala mi błąd 500? Co robię źle? W odpowiedzi chciałbym otrzymać klucz token.
1' wpisz sobie http://sms.orange.pl/rotate_token.aspx?token= w przegladarce, tez dostaniesz http:500, wiec pewnie stronka NIE obsluguje pustego tokena
2' proba polaczenia sie z http://sms.orange.pl/rotate_token.aspx bez parametrow udaje sie w 100%, zwraca http:200, tyle ze - odpowiedz jest kompletnie pusta
sadze wiec, ze musisz znac token
tyle samo mozna sie domyslic z nazy: rotate_token, ROTATE a nie new/generate/create - czyli wymiana jednego(starego) na inny(nowy). oryginalny token pewnie dostajesz przy logowaniu sie albo przy pierwotnym redirectcie ze 'strony glownej' itp
Doszedłem do tego. Dzięki za cierpliwość.
A mógł byś podać kod, był bym bardzo wdzięczny