Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: OpenBSD en 15 Febrero 2010, 12:29 pm



Título: problema The type System.Collections.Hashtable is not supported en socket en PHP
Publicado por: OpenBSD en 15 Febrero 2010, 12:29 pm
Hola perdon si el titulo del asunto no es el correcto pero no alle alguno mejor.

Bueno mi problema es este, estoy haciendo un bot para la red social myspace, lo estoy haciendo en php, loque estoy intentando que haga el bot primero esque cambie la foto predeterminada de mi cuenta, por lo que me fije en las cabeceras que manda y el codigo javascript que chequie lo que  hace la web es mandar el hash y el id de la imagen en un objeto json por el metodo http post. lo que manda es este objeto
json:

{"hash":"MIGuBgkrBgEEAYI3WAOggaAwgZ0GCisGAQQBgjdYAwGggY4wgYsCAwIAAQICZgMCAgDABAiepycKQVG3RQQQh3LFGq0Xs8BiHh5LwRuWjgRgRKbz2fQuRVJMetL%2bHuNnJSq2J8eDjrUeRrlslYQ5QIaMIxq5R0%2bVlDMTXGcVBb57kYz2TUzcMxScQThfVLSIu4SUwTctU8nzOsO6AUZVhyT6R7M4D%2b8mfP%2bBpRKKxV7Q","imageId":45192319}.

Y el codigo es este:
<?php
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$host="viewmorepics.myspace.com";
socket_connect($socket,$host,80);
$miArray=array("hash"=>"MIGuBgkrBgEEAYI3WAOggaAwgZ0GCisGAQQBgjdYAwGggY4wgYsCAwIAAQICZgMCAgDABAi12wDIuv5myQQQYFJheGkRiKpKehEI7SwWVARgmqmWG9TbL7pFItwZht66hGcthguGUJTCkNi2DcwNGd%2fmXy54XMbayiYkxxEXtaJa9%2b3ZX7CiKDjiYRmL7i9x3cYLtwjU%2beeijSMBjSD8%2bdEDEn1k8sKmY9Z6LSuHu3cU","imageId"=>45192319);

$hash= json_encode($miArray);

$longitud=strlen($hash);

$cabecera="POST /Modules/PhotoAlbums/Services/PhotoAlbums.asmx/SetDefaultPhoto HTTP/1.1\r\n";
$cabecera.="Host: viewmorepics.myspace.com\r\n";
$cabecera.="User-Agent: Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.1) Gecko/20090702 Firefox/3.5\r\n";
$cabecera.="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$cabecera.="Accept-Language: en-us,en;q=0.5\r\n";
$cabecera.="Accept-Encoding: gzip,deflate\r\n";
$cabecera.="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$cabecera.="Keep-Alive: 300\r\n";
$cabecera.="Connection: keep-alive\r\n";
$cabecera.="Content-Type: application/json; charset=utf-8\r\n";
$cabecera.="Referer: http://viewmorepics.myspace.com/index.cfm?fuseaction=user.editAlbumPhoto&albumID=2622045&imageID=45192319\r\n";
$cabecera.="Content-Length: $longitud\r\n";
$cabecera.="Cookie: MSCulture=IP=189.220.28.106&IPCulture=en-US&PreferredCulture=es-MX&Country=VVM%3D&ForcedExpiration=0&timeZone=0&USRLOC=QXJlYUNvZGU9MCZDaXR5PVRpanVhbmEmQ291bnRyeUNvZGU9TVgmQ291bnRyeU5hbWU9TWV4aWNvJkRtYUNvZGU9MCZMYXRpdHVkZT0zMi41MzMzJkxvbmdpdHVkZT0tMTE3LjAxNjcmUG9zdGFsQ29kZT0mUmVnaW9uTmFtZT0wMg%3D%3D; SessionDDF2=HP21XyULW/2OIaLcMFLj4sZoCVKcTuym6oMrW8ELfnfCE+Uy0kD+QVy4510CG+vd7UCa8FIZh0z0kpDTak9NiQ==; __utma=102911388.1158535726.1263950720.1264738202.1264815163.24; __utmz=102911388.1264738202.23.11.utmccn=(referral)|utmcsr=home.myspace.com|utmcct=/index.cfm|utmcmd=referral; GADC=EUD=0:0:YjRjOTVjYTE0MGE0OGM3Yelr7YlchQZ9OHJ4w_Lt358c966h_wpY00l0gx0_HROyOd2XTamWAng3K-SG1QjpMOxERmYnpW9EoLRtyGnjRu3ZBeglzSvpXQdTP1zoyMLU; __utma=124280973.1127728.1263950742.1264736102.1264815201.33; __utmz=124280973.1264815201.33.31.utmccn=(referral)|utmcsr=home.myspace.com|utmcct=/index.cfm|utmcmd=referral; _csoot=1264553808581; __utmc=102911388; MSSession=HMINITSTATE=&MSTVCONTESTBDAY=&UNRNDMSG=-1&ATTBUFSIZE=-1&FRREQ=-1&POSTTO=&HOMETHEMEID=-1&OPENTHEMECONTROLLER=-1&ISNEWUSER=-1&SHOWADDTOBLOGPREFERREDLIST=False&WIMSTATE=&WIMHOSTNAME=&SUGGESTIONDISMISSED=True&DRAFTMSGCOUNT=-1&CONTRIBUTORID=0&LASTALBUMUPLOADED=0&USERID=&WINDOWSLIVEDAT=&YAHOOAUTHDAT=&WEBIMDISABLED=True&ISPOMPOPEN=False&WOLNCTLLIST=&OUTLOOKIMPORT=&SPONSOREDACTIVITY=; LASTUSERCLICK=%7bts+'2010-01-30+01%3a32%3a49'%7d; DERDB=ZG9tYWluPS5teXNwYWNlLmNvbSZ0bGQ9Y29tJnNtb2tlcj0xJnNleHByZWY9MSZ1dHlwZT0yJnJlbGlnaW9uaWQ9NCZyZWdpb249MCZwb3N0YWxjb2RlPTIyMTUwJm1hcml0YWxzdGF0dXM9UyZpbmNvbWVpZD0wJmhlaWdodD0tMSZnZW5kZXI9TSZmcmllbmRzPTEmZXRobmljaWQ9OCZhZ2U9MTgmYm9keXR5cGVpZD0xJmNoaWxkcmVuaWQ9MiZjb3VudHJ5PU1YJmRhdGluZz0wJmRyaW5rZXI9MSZlZHVjYXRpb25pZD0tMSZyZWxhdGlvbnNoaXBzPTAmbmV0d29ya2luZz0wJmRpc3BsYXluYW1lPTtBcmNhZGUgZmlyZSAoTGFpa2EpJmZyaWVuZGlkX2ludD0xMTg3MzczNDMmaXBhZGRyZXNzPScxODkuMjIwLjI4LjEwNicmc2NobD0wJnNjaGw9MCZzY2hsPTAmZ3JwPTEwNzU3ODg4NSZncnA9MCZncnA9MCZjdWx0dXNlcnByZWY9MjA1OCZuZXd1c2VyPUZhbHNl; __utmc=124280973; __utmb=102911388.0.10.1264815163; USER=rfaZVNPPsPoArwcNcSdls55ZxV93R0upWHuW8vbmIte%2fUwNYRSBv8%2fVXD76XGiZbxnfApkFhrvN5a0CpBAjWA6XqWnsHd%2fwFDptiU7ErYYQ1%2bZMJplBnqErtZYUqgGeuYw1a4NhWmGJ5O2iWHgPNz3GKmuKHzGJ46znd4mf3l%2b7w5SWAoMVGCySlvNf6PQ%2blZpWFYYsHTWEVL28wzNoK%2bHv25JikSIIVfxO5sRzwFoeXfWRADZJZvDF%2fftH8yQAUp4hZWoGbz4UPKAgZIwKp%2bQ%3d%3d%7cCNhhbEemGyWCgoOuc3dsrkakj7BwcR1fmJYX9RSi9X135Js3IcYua%2bxJPZFo%2fkJXanHV1vFEOnwW4UhfIeZLQM9VKUw5tNXf3n49Pr9OT8o%3d; SplashDisplayName=%3bArcade+fire+(Laika); __utmb=124280973.0.10.1264815201\r\n";
$cabecera.="Pragma: no-cache\r\n";
$cabecera.="Cache-Control: no-cache\r\n";
$cabecera.=$hash."\r\n\r\n";



$bufer="";

socket_write($socket,$cabecera,strlen($cabecera));
while(socket_recv($socket,$bufer,900,MSG_WAITALL)) {
echo $bufer;
}

socket_close($socket);
?>
Pero me responde el servidor con esto:

HTTP/1.1 500 Internal Server Error Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-Server: d92c73b30ec5ba7cfca278ccec7de10487dc6d5e6831ae89 X-AspNet-Version: 2.0.50727 Cache-Control: private Content-Type: text/plain; charset=utf-8 Content-Length: 91 Date: Mon, 15 Feb 2010 10:59:38 GMT Connection: keep-alive The type System.Collections.Hashtable is not supported because it implements IDictionary.

estuve averiguando en google y es un problema relacionado con asp y por lo que veo en las cabeceras http usa asp.net. La verdad estoy un poco desesperado porque ya mande los datos con json_encode pero me devuelve lo mismo.

Agradeceria mucho su ayuda en verdad.