View Single Post
ישן 27-06-13, 09:21   # 4
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

ציטוט:
נכתב במקור על ידי 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($urlfalse$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_INETSOCK_STREAMSOL_TCP);
        
$t socket_connect($this->socketgethostbyname($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$requeststrlen($request));
    } 
ממה שאתה רואה, זה יכול לעבוד בינתיים? זאת רק טיוטה ועוד לא מוכנה להרצה... אשמח לתשובה,
תודה מראש!

Last edited by Rebuilt; 27-06-13 at 09:24..
  Reply With Quote