Det går inte. Precis som jag skrev två gånger innan:
Jag har försökt få en sida som kör ASP.NET att posta tillbaka resultat till mig via Curl i PHP, men något stämmer inte helt eftersom jag inte förstår helt hur ASP.NET postar tillbaka till mig.
Jag har postat en post här tidigare på ett engelskt forum.
Vad jag försöker göra är att jag,
1. Säger till Curl att göra en GET på sidan "s2.aspx?page=pgStart" för att få ut ASP.NET hidden fields, såsom __VIEWSTATE och __EVENTVALIDATION.
2. Säger till Curl att göra en POST på sidan "s2.aspx?page=pgSearchResult" med ASP.NET fälten plus de fält som formuläret består utav med värden.
De fälten jag försöker posta med är dessa
ctl04$ucSimpleSearch$cmb_MarketPlace="0"
ctl04$ucSimpleSearch$cmb_SubGroup="0"
ctl04$ucSimpleSearch$cmb_RentLimit="0"
ctl04$ucSimpleSearch$cmb_SeekArea="0"
Postningen i sig är inget fel på, men jag får inte tillbaka några resultat utav sidan, såsom man får när man gör det manuellt på webben.
Min kod för att göra en POST/GET via Curl ser ut såhär, men borde inte vara några fel på
class getPage
{
var $ch = NULL;
function __construct()
{
$this->ch = curl_init();
}
function curlPage($page, $type="GET", $data=NULL)
{
$agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)\r\n";
$url = "{$page['domain']}/{$page['uri']}";
echo $url."\n\r";
if(is_array($data))
{
foreach($data AS $key => $val){
$values .= urlencode($key) . "=" . urlencode($val) . "&";
}
} else { $values = NULL; }
$values = substr( $values, 0, -1 );
if($type == "GET")
{
if($values != "")
$url = strstr($values, "?") ? "$url&$values" : "$url&$values";
}
// Set cURL Specs
curl_setopt($this->ch, CURLOPT_URL, $url); // HTTP URI
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1); // Skriv inte ut data på skärmen
#curl_setopt($this->ch, CURLOPT_USERAGENT, $agent); // Skicka Useragent
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1); // Följ HTTP Header Location
curl_setopt($this->ch, CURLOPT_COOKIEJAR, "cookie"); // Skriv Cookie Fil
curl_setopt($this->ch, CURLOPT_COOKIEFILE, "cookie"); // Läs Cookie Fil
curl_setopt($this->ch, CURLOPT_VERBOSE, 1);
curl_setopt($this->ch, CURLOPT_POST, 0);
if($type == "POST")
{
curl_setopt($this->ch, CURLOPT_POST, true); // Gör en standard POST (application/x-www-form-urlencoded)
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $values); // Data att skicka till POST formet
}
$temp = curl_exec($this->ch); // Utför POST/GET
$temp = utf8_encode($temp);
#print_r($values);
#print($temp);
return $temp;
}
}
Jag har försökt med flera olika sätt att göra detta på, men inget verkar fungera.
Är det någon som har någon erfarenhet utav detta, eller som har någon idé på hur man kan lösa det på?
Mycket tacksam för svar

