小编har*_*lee的帖子

使用HttpClient通过HTTPS信任所有证书

最近发布了一个关于HttpClient过度Https 的问题(在这里找到).我已经取得了一些进展,但我遇到了新的问题.和我的上一个问题一样,我似乎无法找到适合我的任何地方的例子.基本上,我希望我的客户端接受任何证书(因为我只指向一个服务器),但我一直在接受javax.net.ssl.SSLException: Not trusted server certificate exception.

所以这就是我所拥有的:


    public void connect() throws A_WHOLE_BUNCH_OF_EXCEPTIONS {

        HttpPost post = new HttpPost(new URI(PROD_URL));
        post.setEntity(new StringEntity(BODY));

        KeyStore trusted = KeyStore.getInstance("BKS");
        trusted.load(null, "".toCharArray());
        SSLSocketFactory sslf = new SSLSocketFactory(trusted);
        sslf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

        SchemeRegistry schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(new Scheme ("https", sslf, 443));
        SingleClientConnManager cm = new SingleClientConnManager(post.getParams(),
                schemeRegistry);

        HttpClient client = new DefaultHttpClient(cm, post.getParams());
        HttpResponse result = client.execute(post);
    }
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

    W/System.err(  901): javax.net.ssl.SSLException: Not trusted server certificate 
    W/System.err(  901):    at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:360) 
    W/System.err(  901): …
Run Code Online (Sandbox Code Playgroud)

java ssl https certificate apache-httpclient-4.x

386
推荐指数
9
解决办法
57万
查看次数

Android HttpClient和HTTPS

我刚开始在Android中实现HTTPS连接.本质上,我正在尝试使用org.apache.http.client.HttpClient连接到服务器.我相信,在某些时候,我需要访问应用程序的密钥库,以便使用私钥授权我的客户端.但是,目前,我只是试图联系,看看会发生什么; 我一直收到HTTP/1.1 400 Bad Request错误.

尽管有许多例子(似乎没有一个对我有用),我似乎无法做出这方面的正面或反面.我的代码看起来像这样(BODY常量是XmlRPC):

 private void connect() throws IOException, URISyntaxException{

    HttpPost post     = new HttpPost(new URI(PROD_URL));
    HttpClient client = new DefaultHttpClient();

    post.setEntity(new StringEntity(BODY));
    HttpResponse result = client.execute(post);

    Log.d("MainActivity", result.getStatusLine().toString());

}
Run Code Online (Sandbox Code Playgroud)

所以,非常简单.如果有人有任何建议,请告诉我.谢谢!

ssl https android httpclient bad-request

31
推荐指数
1
解决办法
6万
查看次数

通过Graph API和iOS将照片上传到相册时出现Facebook错误:(#1)发生了未知错误

我已经看过几个关于这个问题的帖子,但到目前为止似乎没有什么能帮助我.基本上,我正在编写一个iOS应用程序并尝试使用Graph API将照片发布到Facebook相册.首先从服务器下载图像数据,然后将其发布到Facebook.我正在使用ASIFormDataRequest类和url https://graph.facebook.com/MY_ALBUM_ID/photos,但我一直收到以下错误:

error =     {
    message = "(#1) An unknown error occurred";
    type = OAuthException;
};
Run Code Online (Sandbox Code Playgroud)

我的请求看起来像这样:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
self.photoRequest = request;
[request setDelegate:self];
[request setPostValue:token forKey:@"access_token"];
[request setPostValue:message forKey:@"message"];
[request setTimeOutSeconds:240];
[request setRequestMethod:@"POST"];

UIImage *image = [UIImage imageWithData:data];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
    [request setData:imageData forKey:@"source"];

    dispatch_async(dispatch_get_main_queue(), ^{
        [request startAsynchronous];
    });
});
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我使用完全相同的方法将照片上传到我的服务器,用于应用程序的不同部分,一切正常.我甚至已经将我要发送到Facebook的照片上传到我的服务器,看看数据是否正确发布.一切都好了.

我已经读过Facebook有时可以吐出我看到的错误,如果它有图像格式的问题,但错误本身就很模糊.我知道我的access_token是有效的.我正在向Facebook发出的所有其他请求都运行正常.

有什么想法吗?

upload facebook photo ios

5
推荐指数
1
解决办法
5228
查看次数