相关疑难解决方法(0)

如何使用java.net.URLConnection来触发和处理HTTP请求

java.net.URLConnection在这里经常询问使用情况,Oracle教程对此非常简洁.

该教程基本上只显示了如何触发GET请求并读取响应.它没有解释如何使用它来执行POST请求,设置请求标头,读取响应标头,处理cookie,提交HTML表单,上传文件等.

那么,我如何使用java.net.URLConnection触发和处理"高级"HTTP请求?

java http urlconnection httprequest httpurlconnection

1903
推荐指数
11
解决办法
100万
查看次数

如何使用JSoup在Android的url中直接链接来自嵌入式URL的远程视频?

我曾经问过如何检索视频文件的嵌入式网址并成功完成的问题.现在我有一个不同的问题.WUnderground API网络摄像头响应的json响应提供以下URL:

https://www.wunderground.com/webcams/cadot1/902/show.html

使用JSoup并根据我的初始问题的答案,我能够得到这个嵌入式链接:

https://www.wunderground.com/webcams/cadot1/902/video.html?month=11&year=2016&filename=current.mp4

在尝试将视频从该网址"流式传输"到VideoView时,我不断收到错误"无法播放视频".在查看该链接的源代码后,我注意到需要播放的视频文件未在html中引用,而是在javascript中引用.如何获取需要播放的视频文件的直接链接?使用JSoup还是其他进程?

网址源https://www.wunderground.com/webcams/cadot1/902/video.html?month=11&year=2016&filename=current.mp4显示<script>括号内所需视频文件的以下内容:

网址:"//icons.wunderground.com/webcamcurrent/c/a/cadot1/902/current.mp4?e=1480377508"

我正在使用JSoup从响应URL获取视频的嵌入式URL,如下所示:

    private class VideoLink extends AsyncTask<Void, Void, Void> {
    String title;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        mProgressDialog.setTitle("JSOUP Test");
        mProgressDialog.setMessage("Loading...");
        mProgressDialog.setIndeterminate(false);
        mProgressDialog.show();
    }

    @Override
    protected Void doInBackground(Void... params) {
        try {

            // for avoiding javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name
            System.setProperty("jsse.enableSNIExtension", "false");

            // WARNING: do it only if security isn't important, otherwise you have
            // to follow this advices: http://stackoverflow.com/a/7745706/1363265
            // Create a trust manager that does not validate certificate …
Run Code Online (Sandbox Code Playgroud)

java android wunderground jsoup

8
推荐指数
1
解决办法
1801
查看次数

获取javax.net.ssl.SSLException:收到致命警报:使用Jsoup抓取数据时的protocol_version

我正在尝试使用Jsoup从站点获取数据.链接到该网站是点击这里!

这是我获取数据的代码.`

    // WARNING: do it only if security isn't important, otherwise you have 
    // to follow this advices: http://stackoverflow.com/a/7745706/1363265
    // Create a trust manager that does not validate certificate chains
    TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager(){
        public X509Certificate[] getAcceptedIssuers(){return null;}
        public void checkClientTrusted(X509Certificate[] certs, String authType){}
        public void checkServerTrusted(X509Certificate[] certs, String authType){}
    }};

    // Install the all-trusting trust manager
    try {
        SSLContext sc = SSLContext.getInstance("TLS");
        sc.init(null, trustAllCerts, new SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
        ;
    }` …
Run Code Online (Sandbox Code Playgroud)

java ssl web-scraping jsoup

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