|
You last visited: Today at 06:31
Advertisement
WinHttp| auf ask.fm anonyme Fragen stellen
Discussion on WinHttp| auf ask.fm anonyme Fragen stellen within the AutoIt forum part of the Coders Den category.
06/25/2013, 15:22
|
#1
|
elite*gold: 224
Join Date: Dec 2010
Posts: 2,766
Received Thanks: 931
|
WinHttp| auf ask.fm anonyme Fragen stellen
Hallo
Ich versuche seit gestern bei ask.fm anonym fragen zu stellen, aber es funktioniert nicht... Ich bekomme beim Fragen stellen immer nichts zurück..
POST Parameter aus LiveHttpHeaders : authenticity_token=aArhKUsuOJgi4K63fBE3LInPlY9wPxo 66yAcvY0LXNY%3D&question%5Bquestion_text%5D=test+t est&authenticity_token=aArhKUsuOJgi4K63fBE3LInPlY9 wPxo66yAcvY0LXNY%3D
Also 2 mal den authenticity_token und die Frage ... sieht erstmal nicht wirklich schwer aus(warscheinlich mache ich auch einfach einen blöden Fehler)
Mit meinem Script funktioniert es aber nicht - Ich bekomme immer nur den angefragten Header zurück..
Code:
#include "Data\Includes\WinHttp.au3"
#include <String.au3>
Global $currentheader
Global $Host = "www.ask.fm"
Global $Agent = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5", $WINHTTP_ACCESS_TYPE_NAMED_PROXY,"127.0.0.1:8888");user agent (proxy für fiddler)
$Connect = _WinHttpConnect($Agent, $Host);connect
$sSite = _Easy_WinHttp()
$sSite = _Easy_WinHttp("GET","/selin5453") ;zufällig ausgewähltes profil
$sSecurityToken = _StringBetween($sSite,'var AUTH_TOKEN = "','";')
If Not IsArray($sSecurityToken) Then
MsgBox(16,"Fehler","Konnte security token nicht auslesen...")
Exit
EndIf
$sSend = "authenticity_token=" & _UnicodeURLEncode($sSecurityToken[0]) & "&question%5Bquestion_text%5D=" & _DecodeMessage("testtttt") & "&authenticity_token=" & _UnicodeURLEncode($sSecurityToken[0])
FileWrite("test.html",$currentheader & @CRLF & @CRLF & _Easy_WinHttp("POST","/selin5453/questions/create",$sSend))
Func _Easy_WinHttp($sType = "GET", $sPage = "/", $sPost = "",$sXML = "") ; thx Arcanis
$HTTP_Request = _WinHttpOpenRequest($Connect, $sType, $sPage, "HTTP/1.1", $Host)
If StringLen($sPost) Then
_WinHttpSendRequest($HTTP_Request,"Content-Type: application/x-www-form-urlencoded" & @CRLF, $sPost)
Else
_WinHttpSendRequest($HTTP_Request)
EndIf
_WinHttpReceiveResponse($HTTP_Request)
$currentheader = _WinHttpQueryHeaders($HTTP_Request)
$HTML = ""
Do
$HTML &= _WinHttpReadData($HTTP_Request)
Until @error
_WinHttpCloseHandle($HTTP_Request)
Return $HTML
EndFunc
Func _DecodeMessage($sMessage)
$sMessage = _UnicodeURLEncode($sMessage)
$sMessage = StringReplace($sMessage," ","+")
Return $sMessage
EndFunc
Func _UnicodeURLEncode($UnicodeURL);thx
$UnicodeBinary = StringToBinary($UnicodeURL, 4)
$UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
$UnicodeBinaryLength = StringLen($UnicodeBinary2)
Local $EncodedString
For $i = 1 To $UnicodeBinaryLength Step 2
$UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
If StringInStr(" -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString('0x' & $UnicodeBinaryChar, 4)) Then
$EncodedString &= BinaryToString('0x' & $UnicodeBinaryChar)
Else
$EncodedString &= '%' & $UnicodeBinaryChar
EndIf
Next
Return $EncodedString
EndFunc
Habe es mir auch nochmal mit Fiddler angeschaut... Die geschickten POST Parameter sehen schonmal nicht falsch aus, Fiddler zeigt aber einen Fehler beim Frage stellen an : "Method Not Allowed"
Hoffe ihr könnt mir da weiterhelfen
|
|
|
06/25/2013, 15:29
|
#2
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
|
Ich empfehle die Verwendung von _WinHttpSimpleRequest aus der WinHttp.au3.
Da du das Handle bei "_Easy_WinHttp" schließt, könnte das Token ungültig werden.
Wie sieht denn der ganze HTTPHeader aus, der an den Server gesendet wird?
MfG
|
|
|
06/25/2013, 15:48
|
#3
|
elite*gold: 224
Join Date: Dec 2010
Posts: 2,766
Received Thanks: 931
|
Quote:
Originally Posted by Achat
Ich empfehle die Verwendung von _WinHttpSimpleRequest aus der WinHttp.au3.
Da du das Handle bei "_Easy_WinHttp" schließt, könnte das Token ungültig werden.
Wie sieht denn der ganze HTTPHeader aus, der an den Server gesendet wird?
MfG
|
_WinHttpSimpleRequest funktioniert auch nicht.
Code:
#include "Data\Includes\WinHttp.au3"
#include <String.au3>
Global $currentheader
Global $Host = "www.ask.fm"
Global $Agent = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5", $WINHTTP_ACCESS_TYPE_NAMED_PROXY,"127.0.0.1:8888");user agent
$Connect = _WinHttpConnect($Agent, $Host);connect
$sSite = _WinHttpSimpleRequest($Connect)
$sSite = _WinHttpSimpleRequest($Connect,"GET","/selin5453","ask.fm")
FileWrite("test1.html",$sSite)
$sSecurityToken = _StringBetween($sSite,'var AUTH_TOKEN = "','";')
If Not IsArray($sSecurityToken) Then
MsgBox(16,"Fehler","Konnte security token nicht auslesen...")
Exit
EndIf
$sSend = "authenticity_token=" & _UnicodeURLEncode($sSecurityToken[0]) & "&question%5Bquestion_text%5D=" & _DecodeMessage("testtttt") & "&authenticity_token=" & _UnicodeURLEncode($sSecurityToken[0])
$sHeaders = "Accept: text/javascript, application/javascript, */*, text/javascript" & @CRLF & "Origin: http://ask.fm" & @CRLF & "X-Requested-With: XMLHttpRequest" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Accept-Encoding: gzip,deflate,sdch" & @CRLF & "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4"
FileWrite("test2.html",_WinHttpSimpleRequest($Connect,"POST","/selin5453/questions/create","www.ask.fm/selin5453",$sSend,$sHeaders))
Func _DecodeMessage($sMessage)
$sMessage = _UnicodeURLEncode($sMessage)
$sMessage = StringReplace($sMessage," ","+")
Return $sMessage
EndFunc
Func _UnicodeURLEncode($UnicodeURL);thx
$UnicodeBinary = StringToBinary($UnicodeURL, 4)
$UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
$UnicodeBinaryLength = StringLen($UnicodeBinary2)
Local $EncodedString
For $i = 1 To $UnicodeBinaryLength Step 2
$UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
If StringInStr(" -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString('0x' & $UnicodeBinaryChar, 4)) Then
$EncodedString &= BinaryToString('0x' & $UnicodeBinaryChar)
Else
$EncodedString &= '%' & $UnicodeBinaryChar
EndIf
Next
Return $EncodedString
EndFunc
ganzer Header :
Code:
POST http://ask.fm/LukasJo777/questions/create HTTP/1.1
Host: ask.fm
Connection: keep-alive
Content-Length: 164
Accept: text/javascript, application/javascript, */*, text/javascript
Origin: http://ask.fm
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://ask.fm/LukasJo777
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: ...............
authenticity_token=BcRt5LGn7TZveHBv4nANADds1mNGK4Vmve0LbjQ4fDk%3D&question%5Bquestion_text%5D=iiii&authenticity_token=BcRt5LGn7TZveHBv4nANADds1mNGK4Vmve0LbjQ4fDk%3D
|
|
|
06/27/2013, 16:11
|
#4
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
|
Eventuell müssen diese
Code:
[B]Content-Length[/B]: 164
Accept: text/javascript, application/javascript, */*, text/javascript
Origin: http://ask.fm
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://ask.fm/LukasJo777
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
im Header mitgesendet werden. Zusätzliche Header lassen sich mit WinHttpSimpleRequest ganz leicht setzen.
MfG
|
|
|
06/27/2013, 16:28
|
#5
|
elite*gold: 224
Join Date: Dec 2010
Posts: 2,766
Received Thanks: 931
|
Quote:
Originally Posted by Achat
Eventuell müssen diese
Code:
[B]Content-Length[/B]: 164
Accept: text/javascript, application/javascript, */*, text/javascript
Origin: http://ask.fm
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://ask.fm/LukasJo777
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
im Header mitgesendet werden. Zusätzliche Header lassen sich mit WinHttpSimpleRequest ganz leicht setzen.
MfG
|
Diese zusätzlichen informationen Habe ich schon mitgesendet (siehe Script im 2. Post)
Mir ist aber auch aufgefallen, dass in Fiddler 2 Einträge für jede "Aktion" angeueigt werden.. Beim fragen stellen kommt zuerst eine Weiterleitung (moved). Das komische ist, dass man aber auf die gleiche Seite (ask.fm/User/questions/create) weitergeleitet wird und es dor dann zum Fehler kommt (Method not Allowed)
|
|
|
|
Similar Threads
|
Was für Fragen könnten sie stellen?
11/28/2012 - Off Topic - 6 Replies
Hi Com,
Ich habe morgen die Abschlusspräsentation und habe das Thema "Diabetes Mellitus".
Deswegen meine frage an euch! :o
Was für Fragen die Lehrer stellen könnten über dieses Thema?
Unnötige Post werden Reported#
|
[Read First]Vor dem Fragen stellen!
08/05/2011 - Nostale - 10 Replies
Hier eine kleine Liste was man zu beachten hat, wenn man einen neuen Threat aufmacht:
Erstmal generelle Regeln:
1. Accounthandel-Beiträge müssen in den Black-Market Teil. Ansonsten wird der Beitrag geschlossen, und bei mehrfacher Begehung gibt es dann Infractions.
2. Bitte meldet alle auffälligen Threads. Alisami wird sich drumm kümmern! Einfach eine PN an ihn schicken!
3. Spam, Werbung oder Sachen die nicht zu Thema passen werden geclosed und verwarnt.
|
ox fragen stellen
03/03/2010 - Metin2 Private Server - 1 Replies
ist jetzt eine etwas doofe frage aber finde code net wie man das macht also frage ich was ist der code um bei ox wettbewerb fragen zu stellen?
|
Wie fragen stellen ?
02/04/2010 - Metin2 Private Server - 1 Replies
Hey, ich habe auf nem Pserver (bin dort GM) ox event übersetzt, doch wenn es nun startet, wie stell ich nun die fragen ? ..
Lg
JTanski
|
[How to] Fragen stellen im Ox - Wettbewerb
10/20/2009 - Metin2 PServer Guides & Strategies - 6 Replies
Hallo Com .
Ihr startet den Ox Wettbewerb mit /open.
Und fragen stellt ihr wenn ihr auf die Namenlosen Blumen drauf klickt Und das
erste nimmt.
Achtung die fragen sind Chinesisch , wie man die auf Deutsch übesertzt
bin ich noch nicht drauf gekommen :D
Hoffe konnte einigermasen weiter helfen
|
All times are GMT +2. The time now is 06:31.
|
|