Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
推特&x2B;使用HTTPS/SSL的Camel_Ssl_Twitter - Fatal编程技术网

推特&x2B;使用HTTPS/SSL的Camel

推特&x2B;使用HTTPS/SSL的Camel,ssl,twitter,Ssl,Twitter,我使用twitter4j+camel插件来阅读推文 <route id="twitter-timeline-incoming"> <from uri="twitter://timeline/user?type=polling&amp;delay=180&amp;consumerKey=xxxx&amp;consumerSecret=xxxx&amp;accessToken=xxxx8&amp;accessToken

我使用twitter4j+camel插件来阅读推文

<route id="twitter-timeline-incoming">
     <from
       uri="twitter://timeline/user?type=polling&amp;delay=180&amp;consumerKey=xxxx&amp;consumerSecret=xxxx&amp;accessToken=xxxx8&amp;accessTokenSecret=xxxxg&amp;user=user_account" />
            <process ref="setTwitterTimestampProcessor" />

            <filter>
                <method ref="twitterFeedFilter" />
                <to uri="direct:twitterProcessFeed" />
            </filter>
        </route>

Twitter从今天起强制使用SSL

我想知道如何为这些请求启用SSL,这里没有给出 .


谢谢。

2014年1月14日,Twitter更新了其API,要求所有端点都是https。Twitter4J中的默认API端点是http,而不是https。您现在可以手动更改它们,直到它们更新Twitter4J中的默认值:

    ConfigurationBuilder confBuilder=new ConfigurationBuilder();
    confBuilder.setOAuthConsumerKey(consumerKey);
    confBuilder.setOAuthConsumerSecret(consumerSecret);
    confBuilder.setHttpRetryCount(3);
    confBuilder.setHttpRetryIntervalSeconds(30);
    confBuilder.setRestBaseURL("https://api.twitter.com/1.1/");
    confBuilder.setStreamBaseURL("https://stream.twitter.com/1.1/");
    confBuilder.setSiteStreamBaseURL("https://sitestream.twitter.com/1.1/");
    confBuilder.setUserStreamBaseURL("https://userstream.twitter.com/1.1/");
    confBuilder.setOAuthRequestTokenURL("https://api.twitter.com/oauth/request_token");
    confBuilder.setOAuthAccessTokenURL("https://api.twitter.com/oauth/access_token");
    confBuilder.setOAuthAuthorizationURL("https://api.twitter.com/oauth/authorize");
    confBuilder.setOAuthAuthenticationURL("https://api.twitter.com/oauth/authenticate");
    Configuration conf=confBuilder.build();
    Twitter twitter=new TwitterFactory(conf).getInstance();

您可以将参数传递给JVM以打开SSL: -Dtwitter4j.http.usesll=true


至少这解决了我的问题。

设置JVM不是我的选择

已在camel+twitter插件中提升票证

而且似乎有一个补丁在修复版本2.11.4、2.12.3、2.13.0中可用