我正在开发一个应该显示货币汇率的项目,所以我计划调用另一个网页从该页面获得汇率值。我在Angular-js中尝试了,但是我不能从网页中得到响应(在Angular-js中:我们只能调用JSON/REST url)。我在XMLHttpRequest中尝试了,但是如果我们从其他域(CORS的Beacuse)调用网页,它不会调用该网页(url)。
类似地,我在Java中进行了尝试,成功地调用了网页并得到了XML,但无法解析值(得到错误:“un-formatted XML”)。
可以有人请指导我,我如何可以从任何网页的价值。请让我知道我可以通过使用API调用或任何webservice调用来实现。如果我使用API或Webservice调用,那么我是否需要与moneyexchange网站的供应商沟通,以便让API/Webservice使用特定的值??。
请帮助我相同(我准备在任何技术上实现)
Java代码:
package webXMRead;
import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList;
public class webPageXMLRead { public static void main(String args[]) throws URISyntaxException, ClientProtocolException, IOException, MalformedURLException {
//For study and example purpose I took url:http://www.google.com , need to parse this website, I am not using for any profit purpose
String url = "http://www.google.com"; System.out.println("Url is careated****"); URL url2 = new URL(url); HttpGet httpGet = new HttpGet(url); HttpClient httpClient = new DefaultHttpClient();HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity entity = httpResponse.getEntity(); System.out.println("Entity is*****" + entity); try { String xmlParseString = EntityUtils.toString(entity); System.out.println("This Stirng ***" + xmlParseString); HttpURLConnection connection = (HttpURLConnection) url2 .openConnection(); InputStream inputStream = connection.getInputStream(); DocumentBuilderFactory builderFactory = DocumentBuilderFactory .newInstance(); DocumentBuilder documentBuilder = builderFactory .newDocumentBuilder(); Document document = documentBuilder.parse(inputStream); document.getDocumentElement().normalize(); NodeList nodeList = document.getElementsByTagName("rss"); System.out.println("This is firstnode" + nodeList); for (int getChild = 0; getChild < nodeList.getLength(); getChild++) { Node Listnode = nodeList.item(getChild); System.out.println("Into the for loop" + Listnode.getAttributes().getLength()); Element firstnoderss = (Element) Listnode; System.out.println("ListNodes" + Listnode.getAttributes()); System.out.println("This is node list length" + nodeList.getLength()); Node Subnode = nodeList.item(getChild); System.out.println("This is list node" + Subnode); } } catch (Exception exception) { System.out.println("Exception is" + exception); } }
<!DOCTYPE html> <html> <head> <title>test your webservice</title> </head> <body> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <article ng-app="webpage"> <section ng-controller="booksCtrl"> <h2 >{{data}} </h2> </section> </article> <script type="text/javascript"> var app = angular.module('webpage', []); app.controller('booksCtrl', function($scope, $http) { /* $httpProvider.defaults.useXDomain = true;*/ /*delete $http.defaults.headers.common['X-Requested-With'];*/ /*just for study purpose, not for any profit usage, so for example purpose I used URL:http://www.google.com, */ $http.get("http://www.google.com") .then(function(response) { $scope.data=response.data; }, function(errresponse) { alert("err"+errresponse.status); }); }); </script> </body> </html>
基本上,您需要解析HTML文档。为此,请使用jsoup。这将是一个理想的适合四个您的用例。一旦在java中有了Document对象,就可以解析并从中获得所需的值。
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
问题内容: 我有2页:和。我只有在先登录后才能访问。如果不经过其他访问,我只是通过浏览器拒绝访问(没有重定向到登录)。在登录后,我就可以访问另一个。 我的问题是使用curl命令执行此操作。我可以成功使用curl 登录,但是尝试访问后会被拒绝。 我使用以下内容: 我尝试将第二行与&一起使用,但没有用户/密码部分,但仍然无法正常工作。两个页面都使用相同的CA,所以这不是问题。有什么建议么?谢谢 问题答
我仍然是Java的新手,我正在努力使这个程序适合我的任务。 问题是: 杰夫在你家附近经营着一家当地的零售店。他已与您签订合同,让您创建一个交互式应用程序,以帮助他增加员工工资。创建一个名为 Details 的类,该类将包含员工 ID 号、名字、姓氏和薪水的获取和设置方法。包括一个名为getUpdateSalary()的方法,该方法将使员工的薪水增加10%。在您的主类中,包括一个名为 () 的静态方
问题内容: 我目前正在尝试开发一个应用程序,使其访问以下网站(http://lulpix.com)并解析HTML,并从以下部分获取img src 当然,每次加载页面时它都会有所不同,因此,例如,我无法将直接URL分配给我打算做的异步图像库 加载页面 >解析img src>下载Async到imageview>重新加载lulpix.com>重新开始 然后将它们分别放置在图像视图中,用户可以从中向左或向
我有一个json文件,大约1MB。我正在尝试用Klaxon库解析这个JSON,但需要大约30秒。我不想使用SQLite。我能做什么?
我一直在寻找答案,但我没有找到它,我需要在我继续我的测试之前弄明白。 我正在通过安装bash创建一个基于Alpine的映像,如下图所示: Hello.sh 我可以在不向docker-compose.yml添加的情况下访问,所以Alpine的映像中一定有我不理解和希望理解的东西。
假设我有两个html文件具有如下功能: 我想从a.html直接指向B.html,然后直接调用函数B。我怎样才能做到?。因为我想要将JSON字符串从函数A传递到函数B,而不是使用window.onload()或$(document).ready()。 我将我的JSON字符串存储到本地存储,并将用户引导到b.html。然后函数B将读取本地存储并直接处理数据。