2011-03-03 3 views
0


Pourriez-vous s'il vous plaît me dire, ce qui se passe dans ce script:
Simple question sur les sockets PHP

 
$conn = fsockopen($server, 43); 
fputs($conn, $some_string."\r\n"); 


Quel type de données seront envoyées au serveur? OBTENIR? POSTER? METTRE? Et comment devrais-je faire le même travail avec cURL? CURLOPT_whatShouldIWriteHere?

Merci!

Répondre

1

Il ne s'agit pas d'une requête HTTP, mais simplement d'un transfert de données TCP/IP pur. En tant que tel, ce n'est ni GET, ni POST, ni aucun autre verbe HTTP.

+0

Merci. Mais ... Puis-je faire la même chose avec cURL? Je dois faire environ 30 connexions en 1 fois et j'ai trouvé curl_multi_ * qui me donne une sorte de multithreading. – Chvanikoff

+0

@Chvanikoff Je suppose que vous pourriez reproduire cela en utilisant la capacité de cURL à faire des requêtes TELNET, mais je dois admettre que je n'ai jamais essayé cela. – deceze

+0

ok. Merci. Je pense que j'ai une autre question que je vais poser ici SO donc bientôt ... – Chvanikoff

1

Il suppose que cela envoie une chaîne brute au serveur sans en-tête. Je pense que ne pas CURL fera la même chose (toujours envoyer des en-têtes de protocole), mais vous pouvez faire la même chose avec netcat

> server=192.168.1.1 
> some_string=hello 
> nc $server 43 <<. 
$some_string 
. 
1

Il est une prise tcp - pas du tout HTTP. Il enverra simplement ce que contient $some_string.

Si vous souhaitez utiliser HTTP, utilisez CURL. Voir les docs PHP pour un exemple.