You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Filiz (JIRA)" <ji...@apache.org> on 2010/11/30 16:14:11 UTC
[jira] Created: (HTTPCLIENT-1025) Can't connect HttpUrl wiht
Authentication
Can't connect HttpUrl wiht Authentication
-----------------------------------------
Key: HTTPCLIENT-1025
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1025
Project: HttpComponents HttpClient
Issue Type: New Feature
Components: HttpAuth, HttpClient
Environment: Windows 7,
Eclipse Galelio Eclipse
Java EE IDE for Web Developers.
Build id: 20100218-1602
Android 2.2
Reporter: Filiz
Hi,
I have a service that gives xml data. But it didn't connect, I reseach all of documents on internet and you site, I develop my code on you site example
I give the example of my code :
protected InputStream getInputStream() {
try {
SchemeRegistry schemeRegistry = new SchemeRegistry();
// http scheme
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
// https scheme
schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443));
params = new BasicHttpParams();
params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 1);
params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, new ConnPerRouteBean(1));
params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "utf8");
// ignore that the ssl cert is self signed
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(new AuthScope("www.yemeksepeti.com", AuthScope.ANY_PORT),
new UsernamePasswordCredentials("cs_basari", "bas0102ari"));
clientConnectionManager = new ThreadSafeClientConnManager(params, schemeRegistry);
context = new BasicHttpContext();
context.setAttribute("http.auth.credentials-provider", credentialsProvider);
System.out.println("----------------yemeksepetiandroid-----------------------http://www.yemeksepeti.com/YemeksepetiCatalogWebService/CatalogExportMobile.asmx/Mobile_GetCities?");
DefaultHttpClient client = new DefaultHttpClient(clientConnectionManager, params);
HttpGet get = new HttpGet("http://www.yemeksepeti.com/YemeksepetiCatalogWebService/CatalogExportMobile.asmx/Mobile_GetCities?");
HttpResponse response = client.execute(get, context);
HttpEntity entity = response.getEntity();
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());
}
return entity.getContent();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
static class PreemptiveAuth implements HttpRequestInterceptor {
public void process(
final HttpRequest request,
final HttpContext context) throws HttpException, IOException {
AuthState authState = (AuthState) context.getAttribute(
ClientContext.TARGET_AUTH_STATE);
// If no auth scheme avaialble yet, try to initialize it preemptively
if (authState.getAuthScheme() == null) {
AuthScheme authScheme = (AuthScheme) context.getAttribute(
"preemptive-auth");
CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute(
ClientContext.CREDS_PROVIDER);
HttpHost targetHost = (HttpHost) context.getAttribute(
ExecutionContext.HTTP_TARGET_HOST);
if (authScheme != null) {
Credentials creds = credsProvider.getCredentials(
new AuthScope(
targetHost.getHostName(),
targetHost.getPort()));
if (creds == null) {
throw new HttpException("No credentials for preemptive authentication");
}
authState.setAuthScheme(authScheme);
authState.setCredentials(creds);
}
}
}
}
And it gives these error log:
11-30 16:41:08.902: WARN/etAuthenticationHandler(629): Authentication scheme ntlm not supported
11-30 16:41:08.932: WARN/DefaultRequestDirector(629): Authentication error: Unable to respond to any of these challenges: {ntlm=WWW-Authenticate: NTLM, negotiate=WWW-Authenticate: Negotiate}
11-30 16:41:08.952: INFO/System.out(629): HTTP/1.1 401 Unauthorized
11-30 16:41:08.952: INFO/System.out(629): Response content length: 1656
11-30 16:42:56.021: WARN/jdwp(629): Debugger is telling the VM to exit with code=1
11-30 16:42:56.021: INFO/dalvikvm(629): GC lifetime allocation: 2845 bytes
11-30 16:42:56.342: DEBUG/Zygote(33): Process 629 exited cleanly (1)
11-30 16:42:56.382: INFO/ActivityManager(69): Process com.basarimobile.android.yemeksepeti (pid 629) has died.
11-30 16:42:56.442: INFO/WindowManager(69): WIN DEATH: Window{4511be98 com.basarimobile.android.yemeksepeti/com.basarimobile.android.yemeksepeti.Login paused=false}
11-30 16:42:56.602: INFO/UsageStats(69): Unexpected resume of com.android.launcher while already resumed in com.basarimobile.android.yemeksepeti
11-30 16:42:56.692: WARN/InputManagerService(69): Got RemoteException sending setActive(false) notification to pid 629 uid 10036
How I can solve my problem thanks?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org
[jira] Resolved: (HTTPCLIENT-1025) Can't connect HttpUrl wiht
Authentication
Posted by "Sebb (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sebb resolved HTTPCLIENT-1025.
------------------------------
Resolution: Not A Problem
JIRA is not a forum for help, it is for reporting bugs and requesting enhancements.
Please subscribe to the HttpClient user mailing list and ask there
> Can't connect HttpUrl wiht Authentication
> -----------------------------------------
>
> Key: HTTPCLIENT-1025
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1025
> Project: HttpComponents HttpClient
> Issue Type: New Feature
> Components: HttpAuth, HttpClient
> Environment: Windows 7,
> Eclipse Galelio Eclipse
> Java EE IDE for Web Developers.
> Build id: 20100218-1602
> Android 2.2
> Reporter: Filiz
>
> Hi,
> I have a service that gives xml data. But it didn't connect, I reseach all of documents on internet and you site, I develop my code on you site example
> I give the example of my code :
> protected InputStream getInputStream() {
> try {
> SchemeRegistry schemeRegistry = new SchemeRegistry();
> // http scheme
> schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
> // https scheme
> schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443));
> params = new BasicHttpParams();
> params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 1);
> params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, new ConnPerRouteBean(1));
> params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
> HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
> HttpProtocolParams.setContentCharset(params, "utf8");
> // ignore that the ssl cert is self signed
> CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
> credentialsProvider.setCredentials(new AuthScope("www.yemeksepeti.com", AuthScope.ANY_PORT),
> new UsernamePasswordCredentials("cs_basari", "bas0102ari"));
> clientConnectionManager = new ThreadSafeClientConnManager(params, schemeRegistry);
> context = new BasicHttpContext();
> context.setAttribute("http.auth.credentials-provider", credentialsProvider);
> System.out.println("----------------yemeksepetiandroid-----------------------http://www.yemeksepeti.com/YemeksepetiCatalogWebService/CatalogExportMobile.asmx/Mobile_GetCities?");
>
> DefaultHttpClient client = new DefaultHttpClient(clientConnectionManager, params);
> HttpGet get = new HttpGet("http://www.yemeksepeti.com/YemeksepetiCatalogWebService/CatalogExportMobile.asmx/Mobile_GetCities?");
> HttpResponse response = client.execute(get, context);
> HttpEntity entity = response.getEntity();
> System.out.println(response.getStatusLine());
> if (entity != null) {
> System.out.println("Response content length: " + entity.getContentLength());
> }
> return entity.getContent();
> } catch (IOException e) {
> throw new RuntimeException(e);
> }
> }
> static class PreemptiveAuth implements HttpRequestInterceptor {
> public void process(
> final HttpRequest request,
> final HttpContext context) throws HttpException, IOException {
>
> AuthState authState = (AuthState) context.getAttribute(
> ClientContext.TARGET_AUTH_STATE);
>
> // If no auth scheme avaialble yet, try to initialize it preemptively
> if (authState.getAuthScheme() == null) {
> AuthScheme authScheme = (AuthScheme) context.getAttribute(
> "preemptive-auth");
> CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute(
> ClientContext.CREDS_PROVIDER);
> HttpHost targetHost = (HttpHost) context.getAttribute(
> ExecutionContext.HTTP_TARGET_HOST);
> if (authScheme != null) {
> Credentials creds = credsProvider.getCredentials(
> new AuthScope(
> targetHost.getHostName(),
> targetHost.getPort()));
> if (creds == null) {
> throw new HttpException("No credentials for preemptive authentication");
> }
> authState.setAuthScheme(authScheme);
> authState.setCredentials(creds);
> }
> }
>
> }
> }
> And it gives these error log:
> 11-30 16:41:08.902: WARN/etAuthenticationHandler(629): Authentication scheme ntlm not supported
> 11-30 16:41:08.932: WARN/DefaultRequestDirector(629): Authentication error: Unable to respond to any of these challenges: {ntlm=WWW-Authenticate: NTLM, negotiate=WWW-Authenticate: Negotiate}
> 11-30 16:41:08.952: INFO/System.out(629): HTTP/1.1 401 Unauthorized
> 11-30 16:41:08.952: INFO/System.out(629): Response content length: 1656
> 11-30 16:42:56.021: WARN/jdwp(629): Debugger is telling the VM to exit with code=1
> 11-30 16:42:56.021: INFO/dalvikvm(629): GC lifetime allocation: 2845 bytes
> 11-30 16:42:56.342: DEBUG/Zygote(33): Process 629 exited cleanly (1)
> 11-30 16:42:56.382: INFO/ActivityManager(69): Process com.basarimobile.android.yemeksepeti (pid 629) has died.
> 11-30 16:42:56.442: INFO/WindowManager(69): WIN DEATH: Window{4511be98 com.basarimobile.android.yemeksepeti/com.basarimobile.android.yemeksepeti.Login paused=false}
> 11-30 16:42:56.602: INFO/UsageStats(69): Unexpected resume of com.android.launcher while already resumed in com.basarimobile.android.yemeksepeti
> 11-30 16:42:56.692: WARN/InputManagerService(69): Got RemoteException sending setActive(false) notification to pid 629 uid 10036
>
> How I can solve my problem thanks?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org