获取国家气象局数据

获取国家气象局数据,urlPath:http://m.weather.com.cn/data/101010100.html

	public static String GetWeatherData(String urlPath) throws Exception{
		URL url = new URL(urlPath);
		HttpURLConnection connection = (HttpURLConnection) url.openConnection();
		connection.connect();
		InputStream inputStream = connection.getInputStream();
		Reader reader = new InputStreamReader(inputStream, "UTF-8");
		BufferedReader bufferedReader = new BufferedReader(reader);
		String str = null;
		StringBuffer sb = new StringBuffer();
		while ((str = bufferedReader.readLine()) != null) {
			sb.append(str);
		}
		reader.close();
		connection.disconnect();
		return sb.toString();
	}	
本来想在JS中实现,可是涉及到跨域问题,整了半天没弄出来。希望有知道的能告诉我

### 使用 QT 获取中国气象局雷达数据文件 为了通过 Qt 实现从中国气象局获取雷达数据文件的功能,可以借鉴类似的网络请求操作。下面展示一段示例代码来说明如何利用 `QNetworkAccessManager` 进行 HTTP 请求并保存返回的数据至本地文件。 #### 创建 QNetworkAccessManager 对象发起 GET 请求并将响应存储到文件中: ```cpp #include <QCoreApplication> #include <QFile> #include <QNetworkAccessManager> #include <QNetworkRequest> #include <QNetworkReply> class RadarDataDownloader : public QObject { Q_OBJECT public slots: void downloadRadarData() { QString url = "http://data.cma.cn/data/cdcdatadetail?dataCode=Z_RADA_L2_REF_AWS"; manager = new QNetworkAccessManager(this); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); request.setUrl(QUrl(url)); reply = manager->get(request); file.open(QIODevice::WriteOnly | QIODevice::Truncate); } private slots: void replyFinished(QNetworkReply *reply) { if (!reply->error()) { QByteArray data = reply->readAll(); // 将接收到的内容写入文件 file.write(data); qDebug() << "Download completed."; } else { qDebug() << "Error during downloading:" << reply->errorString(); } file.close(); reply->deleteLater(); } private: QNetworkAccessManager *manager; QNetworkRequest request; QFile file{"radar_data.dat"}; }; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); RadarDataDownloader downloader; downloader.downloadRadarData(); return a.exec(); } ``` 此段程序展示了基本框架,实际应用时需注意 API 接口的具体形式以及认证机制等问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值