HTTP/1.1 200 OKServer: nginx/0.7.68Date: Sat, 02 Mar 2013 07:44:57 GMTContent-Type: application/rss+xml; charset=utf-8Transfer-Encoding: chunkedConnection: keep-alive3ab4<?xml version="1.0" encoding="utf-8"?><rss version="2.0"> <channel> <title>CSDN 移动频道(资讯)</title> <link>http://mobile.csdn.net</link> <description>开放平台</description> <lastBuildDate>Sat, 02 Mar 2013 15:44:50</lastBuildDate> <item> <title>移动周报:我为什么弃用Objective-C而选择RubyMotion?</title> <link>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</link> <description><![CDATA[我们为您精心准备了CSDN移动频道本周最精彩的热点新闻,开发者直言RubyMotion优与劣,讲述为何弃用Objective-C而选择RubyMotion;出生贫苦的Minecraft开发者Notch大神特立独行,始终秉承开放的游戏开发理念;移动互联网大潮来袭,国家级老牌媒体China Daily将怎样拥抱新媒体时代?]]></description> <author>唐小引</author> <pubDate>Fri, 01 Mar 2013 23:41:01</pubDate> <guid>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</guid> </item> <item> <title>遍地撒网,重点培养,King.com颠覆性游戏商业模式</title> <link>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</link> <description><![CDATA[在App Store的Top Grossing排行榜中,Candy Crush Saga已经排到第二位,仅次于Supercell的Clash of Clans,其开发公司king.com也因此名声大噪,并在移动端打败Zynga,它的成功离不开公司商业模式的创新:发布三部曲+高质游戏+顺势而行。]]></description> <author>陈徐天九</author> <pubDate>Fri, 01 Mar 2013 10:49:52</pubDate> <guid>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</guid> </item> ...
HTTP/1.1 200 OKServer: nginx/0.7.68Date: Sat, 02 Mar 2013 07:44:57 GMTContent-Type: application/rss+xml; charset=utf-8Transfer-Encoding: chunkedConnection: keep-alive
3ab4<?xml version="1.0" encoding="utf-8"?><rss version="2.0"> <channel> <title>CSDN 移动频道(资讯)</title> <link>http://mobile.csdn.net</link> <description>开放平台</description> <lastBuildDate>Sat, 02 Mar 2013 15:44:50</lastBuildDate> <item> <title>移动周报:我为什么弃用Objective-C而选择RubyMotion?</title> <link>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</link> <description><![CDATA[我们为您精心准备了CSDN移动频道本周最精彩的热点新闻,开发者直言RubyMotion优与劣,讲述为何弃用Objective-C而选择RubyMotion;出生贫苦的Minecraft开发者Notch大神特立独行,始终秉承开放的游戏开发理念;移动互联网大潮来袭,国家级老牌媒体China Daily将怎样拥抱新媒体时代?]]></description> <author>唐小引</author> <pubDate>Fri, 01 Mar 2013 23:41:01</pubDate> <guid>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</guid> </item> <item> <title>遍地撒网,重点培养,King.com颠覆性游戏商业模式</title> <link>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</link> <description><![CDATA[在App Store的Top Grossing排行榜中,Candy Crush Saga已经排到第二位,仅次于Supercell的Clash of Clans,其开发公司king.com也因此名声大噪,并在移动端打败Zynga,它的成功离不开公司商业模式的创新:发布三部曲+高质游戏+顺势而行。]]></description> <author>陈徐天九</author> <pubDate>Fri, 01 Mar 2013 10:49:52</pubDate> <guid>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</guid> </item> ...
httpヘッダーを読まなければ十分ではないでしょうか?
httpヘッダーを読まなければ十分ではないでしょうか?
ヘッダー情報が必要です。 Transfer-Encoding: chunked
$arr=preg_split('/(?<=Connection: keep-alive)\s+/s',$s);print_r($arr);
ヘッダー情報が必要なので。 Transfer-Encoding: chunked this Transfer-Encoding: chunked は意味がないからです
PHP code?12$arr=preg_split('/(?<=Connection: keep-alive)s+/s',$ s);print_r ($arr);
すべての応答ヘッダー情報が Connection で終わるわけではありません
もちろん、それが必要です。chunked の場合は、untunk が必要だからです
私のコードは多くのことを行うためにそれを必要とするので、ヘッダー情報が必ず必要です。 Transfer-Encoding: chunked はあなたにとって意味がないからです
この場合、その必要はありません。定期的なことになります!
空白行 (ヘッダーの終わり) を読むまでヘッダー情報を 1 行ずつ読み取る必要があります
これは正規表現でできる仕事ではありません
からの 2 つの部分をインターセプトするだけでは十分ではないでしょうか最初の空白行?
その後、自分で頭部を分析してください
最初の空白行から 2 つの部分を切り出すだけで十分ではないでしょうか?
それから自分でヘッドを分析してください
この投稿は 2013 年 3 月 4 日に xuzuning によって最終編集されました。 08:29:12
引用 6 Lou pktmalaha の返信: 4 階の xuzuning の返信を引用: 2 階の pktmalaha の返信を引用: ヘッダー情報が必要です。 Transfer-Encoding: chunked はあなたのためにあるからです...
ヘッダー情報の処理を行うにはヘッダー情報が必要で、本体の処理を行うには本体が必要です。そして、ソケットを使用して取得したコンテンツが混在しています。規則性を利用してこの 2 つを分離できるでしょうか?必要なものを伝える代わりに、正規表現を入力してください。
explode("rnrn", $str, 1);は正規ですが、explode の最初のパラメータは正規ですか?
別の方法として、応答ヘッダーと応答トピックを個別に取得できるライブラリが多数あります。たとえば、httplib
は、12 階の helloyou0 からの返信を引用しました:explode("rnrn", $str, 1); 必要なのは規則性であることがわかります。explore の最初のパラメーターは規則性ですか?規則性を使用できる場合は使用しないことをお勧めします。規則性は効率的ではありません。
改行を使って2つの部分に分割するだけです
正規表現を使用する必要がある場合は、次の書き方を試してください
$arr = preg_split('#^[\r\n]#m', $text);print_r($arr);
正規表現を使用しなければならない理由は何ですか?