2010-03-25 3 views
1

J'ai installé WAMP et exécuté des scripts PHP sur localhost. J'ai activé cURL. Voici mon code.Exemple d'application Twitter

<?php 
function updateTwitter($status) 
{ 
// Twitter login information 
$username = 'xxxxx'; 
$password = 'xxxxx'; 
// The url of the update function 
$url = 'http://twitter.com/statuses/update.xml'; 
// Arguments we are posting to Twitter 
$postargs = 'status='.urlencode($status); 
// Will store the response we get from Twitter 
$responseInfo=array(); 
// Initialize CURL 
$ch = curl_init($url); 
// Tell CURL we are doing a POST 
curl_setopt($ch, CURLOPT_PROXY,"localhost:80"); 
curl_setopt ($ch, CURLOPT_POST, true); 
// Give CURL the arguments in the POST 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postargs); 
// Set the username and password in the CURL call 
curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password); 
// Set some cur flags (not too important) 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_NOBODY, 0); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// execute the CURL call 
$response = curl_exec($ch); 
if($response === false) 
{ 
    echo 'Curl error: ' . curl_error($ch); 
} 
else 
{ 
    echo 'Operation completed without any errors<br/>'; 
} 

// Get information about the response 
$responseInfo=curl_getinfo($ch); 
// Close the CURL connection curl_close($ch); 
// Make sure we received a response from Twitter 
if(intval($responseInfo['http_code'])==200){ 
    // Display the response from Twitter 
    echo $response; 
}else{ 
    // Something went wrong 
    echo "Error: " . $responseInfo['http_code']; 
} 
curl_close($ch); 
} 

updateTwitter("Just finished a sweet tutorial on http://brandontreb.com"); 

?> 

Voici mon sortie

Operation completed without any errors 
Error: 404 

Voici ce que l'erreur 404 signifie

404 Not Found: L'URI demandé est invalide ou la ressource demandée, comme un utilisateur, n'existe pas.

Aidez-nous s'il vous plaît.

Répondre

2

Vous devez le format sur la fin de l'url twitter, voir la documentation api twitter pour plus d'info:

http://apiwiki.twitter.com/Twitter-API-Documentation

Le proxy est probablement vous causer des problèmes aussi bien, supprimer cette ligne:

curl_setopt($ch, CURLOPT_PROXY,"localhost:80");