ציטוט:
נכתב במקור על ידי zoharesh
יש ספרייה במיוחד לדברים כאלה.
cURL תקרא עליה.
|
שמעתי על הספריה הזאת... איך היא יכולה לעזור לי בנושא?
ציטוט:
נכתב במקור על ידי kobisl
PHP קוד:
function httpPost($url,$post=array(),$cookies=array())
{
$optsCookies='';
foreach($cookies as $key => $val) {$optsCookies.="Cookie: {$key}={$val}\r\n";}
$opts = array(
'http'=>array(
'method' => 'POST'
,'header'=>"Accept-language: en\r\n"
."Content-type: application/x-www-form-urlencoded\r\n"
.$optsCookies
,'content'=>http_build_query($post)
)
);
$context = stream_context_create($opts);
return file_get_contents($url, false, $context);
}
מקווה שזה יעזור =]
|
תודה רבה, אתמול בלילה התחלתי לעבוד על מחלקת WEBStream שבין היתר תעשה את זה, במידה וזה לא יעבוד אנסה את מה שכתבת.
רק משהו שלא הבנתי למה בAccept lan כתבת en? אני עשיתי את זה עם he.
אשמח לתשובה.
חלק מהקוד:
PHP קוד:
class WEBStream {
private $socket;
private $username;
private $password;
private $headers;
private $cookies;
private $web;
public function __construct($web,$username, $password) {
$this->web = $web;
$this->username = $username;
$this->password = $password;
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$t = socket_connect($this->socket, gethostbyname($this->web), 80);
if (!$t) {
die('Error at INIT of WEBStream class: ' . socket_strerror(socket_last_error($this->socket)));
}
$this->headers = "Accept-Language: he-IL,he;\r\nConnection: Keep-Alive\r\nHost: {$this->web}\r\nUser-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36\r\n";
}
private function _REQUEST($method, $URI, $content) {
$xcookies = array();
foreach ($this->cookies as $key => $value) {
$xcookies[] = "$key=$value";
}
$xcookies = implode($xcookies, '; ');
$request = "$method /$URI HTTP/1.1\r\nCookie: $xcookies\r\n{$this->headers}\r\n$content";
socket_write($this->socket, $request, strlen($request));
}
ממה שאתה רואה, זה יכול לעבוד בינתיים? זאת רק טיוטה ועוד לא מוכנה להרצה... אשמח לתשובה,
תודה מראש!