CURL传输与获取功能
什么是CURL?
利用URL语法爱命令行方式下工作的文件传输工具。它支持很多协议。它支持认证功能。php中常用都实现更复杂的传输功能。
实现的功能:
1、实现远程获取和采集内容
2、实现PHP 网页版的FTP上传下载
3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies
4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。
5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。
如何使用CURL功能:
默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能
;extension=php_curl.dll前面的分号去掉
1 整个操作过程中第一步是用cur_init()函数进行初始化
$curl = curl_init(‘www.php100.com’)
2.用curl_setopt()函数进行设置选项。
3.设置后,进行执行事务 curl_exec($curl);
4 最后关闭curl_close();
使用PHP CURL实现传输和获取功能(post传输方式):获取远程网页数据
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init(); //初始化一个CURL对象
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
//设置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
假设上面的0换成1的话,那么接下来的$data就需要echo一下。
curl_setopt($ch, CURLOPT_POST, 1);
//post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
//运行curl,请求网页。
curl_close($ch);
实现远程模拟登陆最基础部分。
curl也还是需要配置用户名和密码的,只不过是被浏览器隐藏了。
============================================================================
curl模拟登陆
模拟登陆:就是不登陆到php100的论坛,也能查看到相应的信息。
分析登陆字段--->登陆后保留cookie状-->读取cookie并跳转到相关页-->抓取数
1、模拟登陆后创建一个文件保存cookie内容
2、通过读取生成的cookie内容模拟用户登陆状态
3、到相关页面获取所需内容
tempname创建一个临时文件
tempnam() 函数创建一个具有唯一文件名的临时文件。若成功,则该函数返回新的临时文件名。若失败,则返回 false。
tempnam(dir,prefix)
参数 描述
dir 必需。规定创建临时文件的目录。
prefix 必需。规定文件名的开头。
相当于,fopen fwirte fclose
它可以返回一个布尔值。使用第三方来登陆你的QQ、msn是很危险的,因为它可以记录你的登录状态,抓取你的用户名和密码。
使用CURL模拟登陆到PHP100论坛
1、分析登陆所需input框字段名和所需字段数量
2、保存cookie 模拟登陆后获取会员金币数量
code:
//初始化一个 cURL 对象
$curl = curl_init();
//设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
//运行cURL,请求网页
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/curl/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
?>
if($_POST['user']=="admin"){
echo "<script>alert('成功')</script>";
}else{
echo "<script>alert('失败')</script>";
}
//print_r($_POST);
?>
=====
模拟登陆代码
pw_php100.php
$cookie_file=tempnam('./temp','cookie');
$login_url="http://bbs.php100.com/login.php";
$post_fields="cktime=3600&step=2&pwuser=php100&pwpwd=11111";
$ch=curl_init($login_url);
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com";
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$data = curl_exec($ch);
curl_close($ch);
$url="http://bbs.php100.com/userpay.php";
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
preg_match("/
echo $arr[1];
curl_close($ch);
?>
======
login.php
print_r($_POST);
?>
====================
curl.php
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
