Je dois passer de commons-httpclient-3.0.jar à commons-httpclient-3.1.jar mais en changeant le jar mon code ne fonctionne plus. Le problème est que la nouvelle bibliothèque code automatiquement l'uri transmis. Y a-t-il un moyen d'éviter cela? Je dois interagir avec Yahoo API et je ne dois pas encoder l'URI sinon je ne peux pas accéder aux services. Ici, il ya une égratignure de mon code, en comparant les deux lignes d'impression, j'observe la différence entre l'URI passé et celui utilisé.Problème de Java en utilisant commons-httpclient-3.X.jar
GetMethod getMethod = new GetMethod();
try {
URI uri = new URI(DeliciousApi.generateRequestToken(), false);
getMethod.setURI(uri);
System.out.println("Passed URI: " + uri.getURI());
int statusCode = client.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.out.println("Used URI: " + getMethod.getURI());
System.err.println("getMethod failed: " + getMethod.getStatusLine());
}
Et voici la sortie:
Passed URI: https://api.login.yahoo.com/oauth/v2/get_request_token?oauth_nonce=ce4630523j788f883f76314ed3965qw9&oauth_timestamp=1277236486&oauth_consumer_key=hd7sHfs5YVFuh3DRTUFgFgF7GcF4RDtsTXStGdRyJJf7WSuShQAShd2JdiwjIibHsU8YFDgshk7hd32xjA6isnNsT7SkbLS8YDHy&oauth_signature_method=plaintext&oauth_signature=53h8x475a66v238j7f43456lhhgg8s7457fwkkdd%26&oauth_version=1.0&xoauth_lang_pref="en-us"&oauth_callback=oob
Used URI: https://api.login.yahoo.com/oauth/v2/get_request_token?oauth_nonce=ce4630523j788f883f76314ed3965qw9&oauth_timestamp=1277236486&oauth_consumer_key=hd7sHfs5YVFuh3DRTUFgFgF7GcF4RDtsTXStGdRyJJf7WSuShQAShd2JdiwjIibHsU8YFDgshk7hd32xjA6isnNsT7SkbLS8YDHy&oauth_signature_method=plaintext&oauth_signature=53h8x475a66v238j7f43456lhhgg8s7457fwkkdd%2526&oauth_version=1.0&xoauth_lang_pref=%22en-us%22&oauth_callback=oob
getMethod a échoué: HTTP/1.1 401 Forbidden
coppia: oauth_problem signature_invalid
particolarly:
% 26 & oauth_version ->% 2526 & oauth_version
et
xoauth_lang_pref = "fr-fr" -> xoauth_lang_pref =% 22FR-nous% 22
Merci beaucoup pour le pourboire! Cela a résolu mon problème! J'étais stupide parce que je n'avais jamais pensé auparavant! :-) – AndyPower