国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) php教程 【php】利用新浪api接口與php獲取遠(yuǎn)程數(shù)據(jù)的步驟,獲取IP地址,并獲取相應(yīng)的IP歸屬地

【php】利用新浪api接口與php獲取遠(yuǎn)程數(shù)據(jù)的步驟,獲取IP地址,并獲取相應(yīng)的IP歸屬地

Jun 13, 2016 pm 12:22 PM
curl gt lt quot

【php】利用新浪api接口與php獲取遠(yuǎn)程數(shù)據(jù)的方法,獲取IP地址,并獲取相應(yīng)的IP歸屬地

本文與《【Servlet】Javaweb中,利用新浪api接口,獲取IP地址,并獲取相應(yīng)的IP歸屬地》(點(diǎn)擊打開鏈接)為姊妹篇,只是后端編程語言換成了php。

做出同樣的效果,打開頁面,得到客戶端的ip,并獲取利用新浪api接口獲取此ip的歸屬地。


可以看到,在IE6也是相當(dāng)正常的。

目錄結(jié)構(gòu)如下,非常簡單,同樣就兩個(gè)文件,其實(shí)如果你愿意,寫成一個(gè)php文件也可以,但是顯示層和邏輯業(yè)務(wù)層還是不混在一起為好吧?

唯一值得注意的是,這兩個(gè)文件打死也不能一個(gè)叫ipGet.php,ipGet.html,雖然后綴名是不同的,但前綴一定不能相同,

否則IE6不知為何無法應(yīng)答這個(gè)Json


ipGetView.html與《【Servlet】Javaweb中,利用新浪api接口,獲取IP地址,并獲取相應(yīng)的IP歸屬地》(點(diǎn)擊打開鏈接)中的顯示層頁面是完全相同,新浪api接口也是完全相同的,這里不再贅述。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Javaweb-IP查詢</title>	<p>IP:<span id="ip"></span></p>	<p>IP歸屬地:<span id="area"></span></p><script>	//創(chuàng)建Ajax對象,不同瀏覽器有不同的創(chuàng)建方法,其實(shí)本函數(shù)就是一個(gè)簡單的new語句而已。  	function createXMLHttpRequest() {		var XMLHttpRequest1;		if (window.XMLHttpRequest) {			XMLHttpRequest1 = new XMLHttpRequest();		} else if (window.ActiveXObject) {			try {				XMLHttpRequest1 = new ActiveXObject("Msxml2.XMLHTTP");			} catch (e) {				XMLHttpRequest1 = new ActiveXObject("Microsoft.XMLHTTP");			}		}		return XMLHttpRequest1;	}	function ajax() {				var XMLHttpRequest1 = createXMLHttpRequest();		//指明相應(yīng)頁面  		var url = "ipGetDo.php";		XMLHttpRequest1.open("POST", url, true);		//這里沒法解釋,你所有JavaScript的請求頭都這樣寫就對了,不會(huì)亂碼  		XMLHttpRequest1.setRequestHeader("Content-Type",				"application/x-www-form-urlencoded");		XMLHttpRequest1.send(null);		//對于返回結(jié)果怎么處理的問題				XMLHttpRequest1.onreadystatechange = function() {			//這個(gè)4代表已經(jīng)發(fā)送完畢之后  			if (XMLHttpRequest1.readyState == 4) {				//200代表正確收到了返回結(jié)果  				if (XMLHttpRequest1.status == 200) {					//json返回結(jié)果					var data=eval("("+XMLHttpRequest1.responseText+")");					document.getElementById("ip").innerHTML=data.ip;					document.getElementById("area").innerHTML=decodeURIComponent(data.area1)+decodeURIComponent(data.area2);				} else {					//如果不能正常接受結(jié)果,你肯定是斷網(wǎng),或者我的服務(wù)器關(guān)掉了。  					alert("網(wǎng)絡(luò)連接中斷!");				}			}		};	}	ajax();</script>
之后,ipGetDo.php中,如同《【php】登錄系統(tǒng)與輸出瀏覽者信息》(點(diǎn)擊打開鏈接)一樣,利用${_SERVER['REMOTE_ADDR']}先獲取用戶的ip,然后通過curl向遠(yuǎn)程獲取數(shù)據(jù)。php用curl向遠(yuǎn)程獲取數(shù)據(jù)的格式如下:

<?php $url = "需要獲取數(shù)據(jù)的url"; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); $DistanceContent = curl_exec($ch); echo $DistanceContent; //$DistanceContent為獲取到的數(shù)據(jù)?> 

因此ipGetDo.php的代碼也就如下,獲取到數(shù)據(jù),直接打印出來,讓ipGetView.html用Ajax獲取即可。

<?php $url = "http://ipapi.sinaapp.com/api.php?f=json&ip=${_SERVER[&#39;REMOTE_ADDR&#39;]}"; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); $DistanceContent = curl_exec($ch); echo $DistanceContent; ?> 

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
華為GT3 Pro和GT4的差異是什么? 華為GT3 Pro和GT4的差異是什么? Dec 29, 2023 pm 02:27 PM

許多用戶在選擇智能手表的時(shí)候都會(huì)選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什么區(qū)別,下面就就給大家介紹一下二者。華為GT3pro和GT4有什么區(qū)別一、外觀GT4:46mm和41mm,材質(zhì)是玻璃表鏡+不銹鋼機(jī)身+高分纖維后殼。GT3pro:46.6mm和42.9mm,材質(zhì)是藍(lán)寶石玻璃表鏡+鈦金屬機(jī)身/陶瓷機(jī)身+陶瓷后殼二、健康GT4:采用最新的華為Truseen5.5+算法,結(jié)果會(huì)更加的精準(zhǔn)。GT3pro:多了ECG心電圖和血管及安

python中CURL和python?requests的相互轉(zhuǎn)換如何實(shí)現(xiàn) python中CURL和python?requests的相互轉(zhuǎn)換如何實(shí)現(xiàn) May 03, 2023 pm 12:49 PM

curl和Pythonrequests都是發(fā)送HTTP請求的強(qiáng)大工具。雖然curl是一種命令行工具,可讓您直接從終端發(fā)送請求,但Python的請求庫提供了一種更具編程性的方式來從Python代碼中發(fā)送請求。將curl轉(zhuǎn)換為Pythonrequestscurl命令的基本語法如下所示:curl[OPTIONS]URL將curl命令轉(zhuǎn)換為Python請求時(shí),我們需要將選項(xiàng)和URL轉(zhuǎn)換為Python代碼。這是一個(gè)示例curlPOST命令:curl-XPOSThttps://example.com/api

Linux下更新curl版本教程! Linux下更新curl版本教程! Mar 07, 2024 am 08:30 AM

在Linux下更新curl版本,您可以按照以下步驟進(jìn)行操作:檢查當(dāng)前curl版本:首先,您需要確定當(dāng)前系統(tǒng)中安裝的curl版本。打開終端,并執(zhí)行以下命令:curl--version該命令將顯示當(dāng)前curl的版本信息。確認(rèn)可用的curl版本:在更新curl之前,您需要確定可用的最新版本。您可以訪問curl的官方網(wǎng)站(curl.haxx.se)或相關(guān)的軟件源,查找最新版本的curl。下載curl源代碼:使用curl或?yàn)g覽器,下載您選擇的curl版本的源代碼文件(通常為.tar.gz或.tar.bz2

PHP8.1發(fā)布:引入curl多個(gè)請求并發(fā)處理 PHP8.1發(fā)布:引入curl多個(gè)請求并發(fā)處理 Jul 08, 2023 pm 09:13 PM

PHP8.1發(fā)布:引入curl多個(gè)請求并發(fā)處理近日,PHP官方發(fā)布了最新版本的PHP8.1,其中引入了一個(gè)重要的特性:curl多個(gè)請求并發(fā)處理。這個(gè)新特性為開發(fā)者提供了一個(gè)更加高效和靈活的方式來處理多個(gè)HTTP請求,極大地提升了性能和用戶體驗(yàn)。在以往的版本中,處理多個(gè)請求往往需要通過創(chuàng)建多個(gè)curl資源,并使用循環(huán)來分別發(fā)送和接收數(shù)據(jù)。這種方式雖然能夠?qū)崿F(xiàn)目

從頭到尾:如何使用php擴(kuò)展cURL進(jìn)行HTTP請求 從頭到尾:如何使用php擴(kuò)展cURL進(jìn)行HTTP請求 Jul 29, 2023 pm 05:07 PM

從頭到尾:如何使用php擴(kuò)展cURL進(jìn)行HTTP請求引言:在Web開發(fā)中,經(jīng)常需要與第三方API或其他遠(yuǎn)程服務(wù)器進(jìn)行通信。而使用cURL進(jìn)行HTTP請求是一種常見而強(qiáng)大的方式。本文將介紹如何使用php擴(kuò)展cURL來執(zhí)行HTTP請求,并提供一些實(shí)用的代碼示例。一、準(zhǔn)備工作首先,確保php已安裝cURL擴(kuò)展??梢栽诿钚袌?zhí)行php-m|grepcurl查

修復(fù):截圖工具在 Windows 11 中不起作用 修復(fù):截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什么截圖工具在Windows11上不起作用了解問題的根本原因有助于找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已打開:這可以防止截圖工具打開。應(yīng)用程序損壞:如果截圖工具在啟動(dòng)時(shí)崩潰,則可能已損壞。過時(shí)的圖形驅(qū)動(dòng)程序:不兼容的驅(qū)動(dòng)程序可能會(huì)干擾截圖工具。來自其他應(yīng)用程序的干擾:其他正在運(yùn)行的應(yīng)用程序可能與截圖工具沖突。證書已過期:升級(jí)過程中的錯(cuò)誤可能會(huì)導(dǎo)致此issu簡單的解決方案這些適合大多數(shù)用戶,不需要任何特殊的技術(shù)知識(shí)。1.更新窗口和Microsoft應(yīng)用商店應(yīng)用程

PHP Curl中如何處理網(wǎng)頁的 301 重定向? PHP Curl中如何處理網(wǎng)頁的 301 重定向? Mar 08, 2024 am 11:36 AM

PHPCurl中如何處理網(wǎng)頁的301重定向?在使用PHPCurl發(fā)送網(wǎng)絡(luò)請求時(shí),時(shí)常會(huì)遇到網(wǎng)頁返回的301狀態(tài)碼,表示頁面被永久重定向。為了正確處理這種情況,我們需要在Curl請求中添加一些特定的選項(xiàng)和處理邏輯。下面將詳細(xì)介紹在PHPCurl中如何處理網(wǎng)頁的301重定向,并提供具體的代碼示例。301重定向處理原理301重定向是指服務(wù)器返回了一個(gè)30

linux curl是什么 linux curl是什么 Apr 20, 2023 pm 05:05 PM

在linux中,?curl是一個(gè)非常實(shí)用的、用來與服務(wù)器之間傳輸數(shù)據(jù)的工具,是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具;它支持文件的上傳和下載,是綜合傳輸工具。curl提供了一大堆非常有用的功能,包括代理訪問、用戶認(rèn)證、ftp上傳下載、HTTP POST、SSL連接、cookie支持、斷點(diǎn)續(xù)傳等等。

See all articles