ホームページ  >  記事  >  バックエンド開発  >  ヘルプ!長い URL と短い URL を転送するためのコードまたは関連リンクを教えてくれる人はいますか?

ヘルプ!長い URL と短い URL を転送するためのコードまたは関連リンクを教えてくれる人はいますか?

WBOY
WBOYオリジナル
2016-06-23 14:14:271096ブラウズ

長い URL と短い URL を相互に変換します

長い URL と短い URL を変換するためのコードまたは関連リンクを教えてください
PHP で記述する必要があります
データベースを使用しないでください
暗号化と変換に同様の関数を使用します
よろしくお願いしますマスターの皆さん、前進してください^ ^

ディスカッション(解決策)に返信してください

神様、助けてください~~~~~

GoogleまたはBaiduのインターフェースを見つけてください

GoogleまたはBaiduのインターフェースを見つけてください

これらのインターフェイスはすべてスキップされます。必要なのは、関数の暗号化と相互変換に似た短い URL であり、クエリには API の長い URL と短い URL を使用できます。

たとえば、bitly.com

その API ドキュメントは http://dev.bitly.com/links.html にあります

短縮 URL、変換は他のユーザーによって制御され、API の長い URL と短縮 URL を使用してクエリを実行できます。

たとえば、bitly.com

その API ドキュメントは http://dev.bitly.com/links.html にあります
Baidu の API を使用してバッチ転送すると、非常に遅いと感じます。私の使い方は間違っていますか?

function dwz($url){	$ch=curl_init();	curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php");	curl_setopt($ch,CURLOPT_POST,true);	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);	$data=array('url'=>$url);	curl_setopt($ch,CURLOPT_POSTFIELDS,$data);	$strRes=curl_exec($ch);	curl_close($ch);	$arrResponse=json_decode($strRes,true);	if($arrResponse['status']==0){		echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n";	}	return $arrResponse['tinyurl'];}for($i=1;$i<=10;$i++){	echo "http://zhidao.baidu.com/question/".rand(0,100000)."$i.html----->".url_short("http://zhidao.baidu.com/question/".rand(0,100000)."$i.html")."<br>";}

神様、見てみるのを手伝ってください~~~

上で書いたコードに問題があります。dwz が使用されている場所がわかりませんでした。

長い URL と短い URL を変換します。 to Long は可逆的ではありません

どれも 1 対 1 にマッピングされており、対応関係を保存するサードパーティなしでは実現できないと思います。


長い URL と短い URL 間の変換
長い URL から短い URL、短い URL から長い URL は元に戻すことはできません

1 対 1 のマッピングは存在しないと思いますし、対応関係を保存する第三者がなければ実現できません。


自分でドメイン名を申請してデータベースを比較しない限り、サードパーティのストレージは必要ありません。必要に応じて、1 つの列に長いアドレスが格納され、もう 1 つの列に短いアドレスが格納されます。 . ただし、現在では短縮 URL ドメイン名を申請することはほぼ不可能です。

上で書いたコードに問題があります。dwz が使用されている場所がわかりませんでした。

間違って貼り付けました。


function dwz($url){	$ch=curl_init();	curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php");	curl_setopt($ch,CURLOPT_POST,true);	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);	$data=array('url'=>$url);	curl_setopt($ch,CURLOPT_POSTFIELDS,$data);	$strRes=curl_exec($ch);	curl_close($ch);	$arrResponse=json_decode($strRes,true);	if($arrResponse['status']==0){/**错误处理*/		echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n";	}	return $arrResponse['tinyurl'];}for($i=1;$i<=10;$i++){	echo "http://zhidao.baidu.com/question/".rand(0,100000)."$i.html----->".dwz("http://zhidao.baidu.com/question/".rand(0,100000)."$i.html")."<br>";}


長い URL と短い URL を変換します。は可逆的ではありません
私は両方とも考えています。これは 1 対 1 のマッピングではなく、対応する関係を保存するサードパーティなしでは実現できません。

データベースを使用する以外に、これを実現する方法はありますか?


長い URL と短い URL 間の変換
長い URL から短い URL、短い URL から長い URL は可逆的ではありません

1 対 1 のマッピングは存在しないと思います、対応関係を保存する第三者がなければ実現できません。


自分でドメイン名を申請してデータベースを比較しない限り、サードパーティのストレージは必要ありません。必要に応じて、1 つの列に長いアドレスが格納され、もう 1 つの列に短いアドレスが格納されます。 . ただし、現在では短縮 URL ドメイン名を申請することはほぼ不可能です。

現在、データベースを使用して行われていますが、それを実現する他の方法があるかどうか知りたいです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。