| |
|
|
Clemens Meier | Yo bin esta, una http-Request con el POST-Método a redactar. Eigentlich debería lo trabajo, tut lo natürlich no. El Zeilen, el el problema beinhalten son: KompilierenMarcaSeparaciónhOpen& = InternetOpenA(addr(INET_CallerName$),opentype&,0,0,0)
print "hOpen "+str$(hOpen&)
hConnect& = InternetConnectA(hopen&,addr(server$),port%,addr(username$),addr(password$),INTERNET_SERVICE_HTTP&,0,0)
print "hConnect "+str$(hConnect&)pre> El 1. Línea funktioniert todavía, lo se una Largo-Valor ausgegeben. Dieser Valor se en el InternetConnectA Función übernommen. El Variables haben folgende Werte: hopen& = 13369348 como Ejemplo, bekommen por InternetOpenA server$ = www.einedomain.de (Diese Domain existiert) port% = 80 username$ = (Yo lo auch con 0 intenta) Contraseña$ = (Yo lo auch con 0 intenta) INTERNET_SERVICE_HTTP& = 3
Doch el Valor el zurückkommt es 0. Un Internetverbindung besteht. Also Todavía el Función internetGetLastResponseInfoA instalado, ya que en SDK empfohlen se. Doch el Fehlernummer es 0 y lo son no Fehlermeldung.
Sombrero alguien una Concepto, woran lo ggf. mentira podría oder en welcher Richtung Yo, el Fehler suchen debería. |
|
|
| |
|
|
|
| Yo habe Su Posting movido - en el Stammtisch gehts no en solche Programmierprobleme. Bitte nutze para Codes auch el CODE, en lugar de el BOX - Symbol. |
|
|
| |
|
|
|
| Probier veces una einfaches: KompilierenMarcaSeparación y luego KompilierenMarcaSeparacióndeclare server$,user$,pwdd$,mem#,data#
server$:="SERVERz"
user$:="USERNAMEz"
pwdd$:="PASSWORTz"
ftppfad$:="/"
dim mem#,4
long mem#,0:=12345
dim data#,318
clear data#
chdl&:=InternetConnect(ihdl&,addr(server$),21,addr(user$),addr(pwdd$),1,134217728,0)// 134217728 == 8000000 == INTERNET_FLAG_PASSI a>
entonces kannst Usted schauen si Usted con KompilierenMarcaSeparación una Handle bekommst.
Mein Ejemplo zielt zwar no en Port80 de - pero la Titel des Hilos beschreibt en efecto una más Problema.
Salve. |
|
|
| |
|
|
|
Clemens Meier | Sorry, kann Yo no ausprobieren, como Yo no XPSE installieren kann, porque dazu debería Yo el Doku en el chm-File lesen puede, doch el benötigt el IE, el se en me weigert algo anzuzeigen (-> Hierzu Por favor, no Kommentare, habe rund 200 Euro para una MS-Techniker ausgegeben, el no Solución wußte y una Reinstallation de Windows empfahl y durchführte, wodurch weitere Programas Schaden nahmen Gesamtschaden rund 700 Euro, dank a MS, el wissen, cómo el Wirtschaft ankurbelt)
Gibt lo el XPSE-Documentación aún en una otro Formato, doc? html? PDF? Oder podría uno dein Beispielcode auch en el normalen XProfan laufen dejar? |
|
|
| |
|
|
|
Rolf Koch | |
|
| |
|
|
|
| En InternetOpenA solltest Usted como OpenType& más bien 1 nehmen, no 0 como en IF seinem Ejemplo. Kannste sí veces testen ( 1 = INTERNET_OPEN_TYPE_DIRECT ) Ob uno el Agenten simplemente weglassen kann weiß Yo no, sería Yo simplemente algo ala: XProfan@Inet angeben |
|
|
| |
|
|
|
| Usted könntest el CHM dekompilieren.
XPSE se pero no installiert - lediglich de el IDE Deiner Wahl aufgerufen - con el Dateinamen como Parámetro. |
|
|
| |
|
|
|
Clemens Meier | Klasse, igual así viele Respuesta, aber:
Un opentype ändert nichts. Den Agenten a ändern bringt auch nichts, puede ser auch leer dejar. Yo habe inzwischen auch una Ejemplo con InternetOpenUrlA intenta, doch auch en diesem kommt sólo una 0 fuera. Yo schätze, lo liegt weniger a el Programa, pero irgendetwas a mi sistema podría no korrekt laufen, obwohl todos DLL como onl.dll oder online.dll einwandfrei trabajo. Und si con el wininet no klappt, muss Soy un otro Weg suchen.
Mmh en el Tipp el chm simplemente a dekompilieren hätte Yo auch de alleine kommen puede. Posesiones veces a la Decompiler herunter geladen. Damit se lo wohl ir. |
|
|
| |
|
|
|
Clemens Meier | Also, al Sistema scheint no a mentira, habe unos pocos Hardware- y Softwaretools laufen dejar, el no Fehler meldeten. El wininet.dll es ansprechbar y es disponible, todavía bekomme Yo siempre el Handle 0. Posesiones lo auch con el FTPFindFirstFile intenta. InternetOpenA son seltsamerweise De todos modos el gleiche Handle-Nummer zurück. Das kann auch no normal ser. Tal vez ha uno de euch encima Nacht ni Concepto, hier veces el komplette Code: KompilierenMarcaSeparacióndef InternetGetLastResponseInfoA(3) !"wininet.dll","InternetGetLastResponseInfoA"
ALLGEMEINE INTERNET API-Deklarationen:
def InternetCloseHandle(1) !"wininet.dll","InternetCloseHandle"
Benötigt als Parameter hInternetHandle
def InternetConnectA(8) !"wininet.dll","InternetConnectA"
Benötigt werden:
hInternetSession als &
lpszServerName als $
nProxyPort als %
lpszUsername als $
lpszPassword als $
dwService als &
dwFlags als &
dwContext als &
def InternetOpenA(5) !"wininet.dll","InternetOpenA"
Benötigt werden:
lpszCallerName als $
dwAccessType als &
lpszProxyName als $
lpszProxyBypass als $
dwFlags als &
def InternetReadFile(4) !"wininet.dll","InternetReadFile"
Benötigt werden:
hFile als &
sBuffer als $
lNumBytesToRead als &
Bytes als &
def &INTERNET_FLAG_RELOAD $80000000
def &INTERNET_SERVICE_HTTP 3
HTTP API-Deklarationen:
def HttpAddRequestHeadersA(4) !"wininet.dll","HttpAddRequestHeadersA"
Benötigt werden:
hHttpRequest als &
sHeaders als $
lHeadersLength als &
lModifiers als &
def HttpOpenRequestA(8) !"wininet.dll","HttpOpenRequestA"
Benötigt werden:
hInternetSession als &
lpszVerb als $
lpszObjectName als $
lpszVersion als $
lpszReferer als $
lpszAcceptTypes als &
dwFlags als &
dwContext als &
def HttpSendRequestA(5) !"wininet.dll","HttpSendRequestA"
Benötigt werden:
hHttpRequest als &
sHeaders als $
lHeadersLength als &
sOptional als $
lOptionalLength als &
declare HTTP_ADDREQ_FLAG_ADD&
declare HTTP_ADDREQ_FLAG_REPLACE&
declare INET_CallerName$
declare INET_ContentType$
declare IOTPreconfig%
declare IOTDirect%
declare IOTProxy%
declare INTERNET_FLAG_RELOAD&
declare INTERNET_SERVICE_HTTP&
HTTP_ADDREQ_FLAG_ADD& = $20000000
HTTP_ADDREQ_FLAG_REPLACE& = $80000000
INET_CallerName$ = "Testzugriff"
INET_ContentType$ = "Content-Type: application/x-www-form-urlencoded
"
IOTPreconfig% = 0
IOTDirect% = 1
IOTProxy% = 3
INTERNET_FLAG_RELOAD& = $80000000
INTERNET_SERVICE_HTTP& = 3
declare string$,url$,data$
Proc HttpPost
Aufruf
Parameters url$,data$,opentype&,port%,username$,password$
Declare server$,path$,hOpen&,hConnect&,hRequest&,Buffer#,Bytes&,i&,ende%,httppost$
declare errorbuffer#,error&
DIM Buffer#,2048
DIM errorbuffer#,2048
url$ = trim$(url$)
if (lower$(left$(url$,7)) = "https://")
url$ = right$(url$,len(url$)-7)
endif
i& = InStr("/",url$)
if (i& > 0)
server$ = left$(url$,i&-1)
path$ = right$(url$,len(url$)-i&+1)
else
server$ = url$
path$ = "/"
endif
print "Server: "+server$
print "Pfad: "+path$
hOpen& = InternetOpenA(addr(INET_CallerName$),opentype&,0,0,0)
print "hOpen "+str$(hOpen&)
hConnect& = InternetConnectA(hopen&,addr(server$),port%,addr(username$),addr(password$),INTERNET_SERVICE_HTTP&,0,0)
print "hConnect "+str$(hConnect&)
hRequest& = HttpOpenRequestA(hConnect&,"POST",addr(path$),"HTTP/1.0",0,0,INTERNET_FLAG_RELOAD&,0)
print "hRequest "+str$(hRequest&)
if (hRequest& = 0)
InternetGetLastResponseInfoA(addr(error&),addr(errorbuffer#),sizeof(errorbuffer#))
print str$(error&)
print "Info: "+string$(errorbuffer#,0)
waitinput
dispose buffer#
dispose errorbuffer#
end
endif
Header
HttpAddRequestHeadersA(hRequest&,addr(INET_ContentType$),len(INET_ContentType$),HTTP_ADDREQ_FLAG_REPLACE& | HTTP_ADDREQ_FLAG_ADD&)
HttpSendRequestA(hRequest&,0,0,addr(data$),len(data$))
ende% = 1
repeat
print "a"
InternetReadFile(hRequest&,addr(buffer#),sizeof(buffer#),addr(Bytes&))
if (bytes& = 0)
ende% = 0
else
httppost$ = char$(buffer#,0,bytes&)
endif
until ende% = 0
InternetCloseHandle(hRequest&)
InternetCloseHandle(hConnect&)
InternetCloseHandle(hOpen&)
dispose buffer#
dispose errorbuffer#
return httppost$
endproc
CLS
url$ = "https://www.colored-web.com/httppost/index.php"
data$ = "X=15&Y=29"
string$ = HttpPOST(url$,data$,1,80,"","")
print tring$
waitinput
end
|
|
|
| |
|
|
|
Rolf Koch | Hi, tener hin y her getestet. El Bruchstücke Code de IF son me bekannt, como wir damals zusammen darüber gesprochen hatten.
iFs Code war en el Principio identisch aber él lief en el Gegensatz a Deinem (also baute una FTP Verbindung en y listete Daten en).
Kann lo ser, dass irgendwie el Server dies all no así mag? |
|
|
| |
|
|
|
Clemens Meier | Nee, al Server scheint no a mentira, habe lo eben con zwei más Servern a verschiedenen Standorten probiert, doch auch en denen kommt siempre exakt el gleiche Ergebnis fuera.
Sombrero tal vez irgendjemand una funktionierende Prog con InternetOpenA also con Api-Características de el wininet.dll, el Yo entonces en me de tiempo ausprobieren kann? |
|
|
| |
|
|
|
| Hab Yo oben Nuevo? |
|
|
| |
|
|