Hallo,
Ich versuche seid einiger Zeit einen Http Post-request hinzubekommen.
Editor: Microsoft Visual C++ 2010 Express
Mein Code(Ab Zeile 169):
Es soll sich in einem Woltlab Forum einloggen...
Bekomme aber beim Debuggen diese Fehler:
Meine Includes:
Wäre super wenn mir jemand weiterhelfen könnte.
lg ötgünz
Ich versuche seid einiger Zeit einen Http Post-request hinzubekommen.
Editor: Microsoft Visual C++ 2010 Express
Mein Code(Ab Zeile 169):
Code:
String ^domainurl = "www.XXX.de/";
String ^scripturl = "forum/index.php?form=UserLogin";
String ^stringtosend = "loginUsername=TestAccount&loginPassword=XXXXXXX&url=%2Fforum%2Findex.php&useCookies=1";
HINTERNET inet = InternetOpen("XXXX v0.3", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET connection;
HINTERNET request;
unsigned long flags;
unsigned long len;
connection = InternetConnect(inet, TEXT(domainurl), INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
flags = INTERNET_FLAG_PRAGMA_NOCACHE;
request = HttpOpenRequest(connection, "POST", TEXT(scripturl), NULL, NULL, NULL, flags, 1);
HttpSendRequest(request, "Content-Type: application/x-www-form-urlencoded", 47, (void*)stringtosend, strlen(stringtosend));
std::stringstream CompleteBuffer;
do{
char antwortbuffer[10000];
InternetReadFile(request, antwortbuffer, sizeof antwortbuffer, &len);
antwortbuffer[len] = '\0';
CompleteBuffer << antwortbuffer;
} while(len);
InternetCloseHandle(request);
InternetCloseHandle(connection);
InternetCloseHandle(inet);
MessageBox::Show(NULL,CompleteBuffer.str().c_str(),"Server Antwort",MB_OK);
Es soll sich in einem Woltlab Forum einloggen...
Bekomme aber beim Debuggen diese Fehler:
Code:
>------ Erstellen gestartet: Projekt: X1X, Konfiguration: Debug Win32 ------
1> X1X.cpp
1>xxxxxx\Form1.h(173): error C2664: 'InternetOpenW': Konvertierung des Parameters 1 von 'const char [15]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>xxxxxx\Form1.h(178): error C2065: 'Ldomainurl': nichtdeklarierter Bezeichner
1>xxxxxx\Form1.h(180): error C2065: 'Lscripturl': nichtdeklarierter Bezeichner
1>xxxxxx\Form1.h(181): error C2440: 'Typumwandlung': 'System::String ^' kann nicht in 'void *' konvertiert werden
1> Ein verwalteter Typ kann nicht in einen nicht verwalteten Typ umgewandelt werden
1>xxxxxx\Form1.h(181): error C2664: 'strlen': Konvertierung des Parameters 1 von 'System::String ^' in 'const char *' nicht möglich
1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
1> Ein verwalteter Typ kann nicht in einen nicht verwalteten Typ umgewandelt werden
1>xxxxxx\Form1.h(181): error C2664: 'HttpSendRequestW': Konvertierung des Parameters 2 von 'const char [48]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>xxxxxx\Form1.h(182): error C2079: 'CompleteBuffer' verwendet undefiniertes class 'std::basic_stringstream<_Elem,_Traits,_Alloc>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Alloc=std::allocator<char>
1> ]
1>xxxxxx\Form1.h(187): error C2297: '<<': Ungültig, da der rechte Operand vom Typ 'char [10000]' ist
1>xxxxxx\Form1.h(187): warning C4552: '<<': Operator hat keine Auswirkungen; Operator mit Nebeneffekt erwartet
1>xxxxxx\Form1.h(193): error C2039: 'str': Ist kein Element von 'System::Int32'
1> c:\program files\reference assemblies\microsoft\framework\.netframework\v4.0\mscorlib.dll: Siehe Deklaration von 'System::Int32'
1>xxxxxx\Form1.h(193): error C2228: Links von ".c_str" muss sich eine Klasse/Struktur/Union befinden.
1>xxxxxx\Form1.h(193): error C2665: "System::Windows::Forms::MessageBox::Show": Durch keine der 21 Überladungen konnten alle Argumenttypen konvertiert werden.
1> c:\program files\reference assemblies\microsoft\framework\.netframework\v4.0\system.windows.forms.dll: kann 'System::Windows::Forms::DialogResult System::Windows::Forms::MessageBox::Show(System::String ^,System::String ^,System::Windows::Forms::MessageBoxButtons,System::Windows::Forms::MessageBoxIcon)' sein
1> c:\program files\reference assemblies\microsoft\framework\.netframework\v4.0\system.windows.forms.dll: oder "System::Windows::Forms::DialogResult System::Windows::Forms::MessageBox::Show(System::Windows::Forms::IWin32Window ^,System::String ^,System::String ^,System::Windows::Forms::MessageBoxButtons)"
1> bei Anpassung der Argumentliste '(int)'
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Meine Includes:
Code:
#pragma once
#include "stdafx.h"
#include "Form2.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <WinInet.h>
Wäre super wenn mir jemand weiterhelfen könnte.
lg ötgünz