使用者:DoraConan/個人沙盒
入稟 http://www.xuehaiblog.com/?fromuser=DoraConan
本用戶頁正在大幅修改,持續時間「10年」,請勿在此期間編輯。 當重大編輯結束或暫時停止編輯時,請移除本模板。您可於編輯歷史中查看添加本模板的編者。 本模板是為了避免編輯衝突,請於本次重大編輯結束後立即移除本模板,讓其他編者能繼續編輯本用戶頁。 致其他編者:當本用戶頁最後編輯時間(1036日7時38分53秒前,重新整理)距今超逾「10年」,請直接移除本模板即可。 |
這個是本人的沙盒,不允許別人使用,只供觀看。(以下都是不知所云的內容,不建議觀看,對外人來説只會浪費時間)
重要外部鏈接
http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate
簽名測試區
DoraConan 按此入稟本人的對話頁起訴本人 2007年8月4日 (六) 13:18 (UTC)
臨時文件
#!/usr/bin/perl # catnav bot by WikiPedia:User:下一次登录 # Sisclaimer: No warranty granted, use at your own risk! # call requirements use Getopt::Std; use LWP::Simple; use LWP::UserAgent; use HTTP::Request; use HTTP::Response; use HTTP::Cookies; #subroutine #parameters local $username="xcnbot"; #input your username here, only English names are tested. local $password="******"; #input your password here local $WIKI_PATH="zh.wikipedia.org"; local $WIKI_PAGE; ### Login to wiki # Set up connection data my $browser=LWP::UserAgent->new(); my @ns_headers = ( 'User-Agent' => 'Xcnbot 1.0 by 下一次登录', #Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20041107 Firefox/1.0', 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*', 'Accept-Charset' => 'iso-8859-1,*,utf-8', 'Accept-Language' => 'en-US', ); # Hold cookies $browser->cookie_jar( {} ); {# Login # Make login request $response=$browser->post("http://".$WIKI_PATH."/w/index.php?title=Special:Userlogin&action=submitlogin", @ns_headers, Content=>[wpName=>$username,wpPassword=>$password,wpRemember=>"1",wpLoginAttempt=>"Log in"]); # After logging in, we should be redirected to another page. # If we aren't, something is wrong. if($response->code!=302) { #cannot login print "We weren't able to login.\n\n"; close(DEBUG); exit 1; } } print "Logged in \n"; # Trivial variables local $content; local $content1; local $content2; local @cnTree; local $editToken; local $editTime; # Set parameters local $DEPTH=5; #predefined DEPTH local $cChange=0; #Counter of CHANGEs my $vName; #Variable: current cat NAME my $vNameU="%E9%A0%81%E9%9D%A2%E5%88%86%E9%A1%9E"; #vName: Unicode, starting from “页面分类” my @aTree; #Array: current cat-TREE my $vDepth=0; #Variable: current cat-tree DEPTH my @aChild; #Array: current cat's CHILDREN my @aChildU; #aChildren: Unicode # Connect to root cat $WIKI_PAGE=$vNameU; $URL="http://".$WIKI_PATH."/wiki/Category:".$WIKI_PAGE; $response=$browser->get($URL, @ns_headers); $content=$response->as_string; { # extract vName $filestartstr="<h1 class=\"firstHeading\">Category:"; $filestart=index($content, $filestartstr); $content1=substr($content, $filestart+34); $fileendstr="</h1>"; $fileend=index($content1, $fileendstr); $vName=substr($content1, 0, $fileend); } # extract vName print "got vName\n"; # Change @aTree $aTree[$vDepth]=$vName; $vDepth+=1; if(1) { #debug open INPUT, ">debug1.txt"; print INPUT $URL; print INPUT "\n\n before digui\n\n"; close INPUT; } #debug if(1) { #log open INPUT, ">cnlog.txt"; print INPUT "program start\n"; close INPUT; } #log &gotocat($vName, $vNameU, $vDepth, @aTree); sub gotocat { #递归程序 my($vName, $vNameU, $vDepth, @aTree) = @_; if(1) { #debug log open INPUT, ">diguilog.txt"; print INPUT "Name="; print INPUT $vName; print INPUT " UName="; print INPUT $vNameU; print INPUT " vDepth="; print INPUT " aTree="; print INPUT $vDepth; for($i=0;$i<$vDepth;$i+=1) { print INPUT $aTree[$i]; print INPUT ">"; } print INPUT "\n"; close INPUT; } #debug log my @aChild; my @aChildU; my $nChild=0; #Child cat number if($vDepth>$DEPTH) { #depth exceeds $aTree[1]="..."; for($i=2;$i<$DEPTH;$i+=1) { $aTree[$i]=$aTree[$i+1]; } $vDepth=$DEPTH; if(1) { #debug log open INPUT, ">>diguilog.txt"; print INPUT "Depth exceeds\n"; close INPUT; } #debug log } print "in digui. vDepth="; print $vDepth; print "\n"; if(1) { # list and sort all children ## list print "list "; $WIKI_PAGE=$vNameU; $URL="http://".$WIKI_PATH."/wiki/Category:".$WIKI_PAGE; $response=$browser->get($URL, @ns_headers); $content=$response->as_string; $content1=$content; $filestartstr="<a class=\"CategoryTreeLabel CategoryTreeLabelNs14 CategoryTreeLabelCategory\" href=\"/wiki/Category:"; while(index($content1, $filestartstr)>=0) { #while there is more children print "c "; { # extract a Child cat line $filestartstr="<a class=\"CategoryTreeLabel CategoryTreeLabelNs14 CategoryTreeLabelCategory\" href=\"/wiki/Category:"; $filestart=index($content1, $filestartstr); $content1=substr($content1, $filestart+99); $fileendstr="</a></div>"; $fileend=index($content1, $fileendstr); $content2=substr($content1, 0, $fileend); $content1=substr($content1, $fileend+10); } # extract a Child cat line { # cat name and Uname $fileendstr="\">"; $fileend=index($content2, $fileendstr); $aChildU[$nChild]=substr($content2, 0, $fileend); $aChild[$nChild]=substr($content2, $fileend+2); } # cat name and Uname $nChild+=1; } #while there is more children if(0) { ## check if there is "next 200" $filestartstr="<br style=\"clear:both;\"/>"; $filestart=index($content, $filestartstr); $content1=substr($content, $filestart+25); $fileendstr="<h2>"; $fileend=index($content1, $fileendstr); $content1=substr($content1, 0, $fileend); $filestartstr="200</a>)<div id"; while(index($content1, $filestartstr)>=0) { # while there is "next 200" print "200 "; { ## extract url $filestartstr="200) (<a href=\""; $filestart=index($content1, $filestartstr); $content1=substr($content1, $filestart+15); $fileendstr="\" title="; $fileend=index($content1, $fileendstr); $WIKI_PAGE=substr($content1, 0, $fileend); } ## extract url $URL="http://".$WIKI_PATH.$WIKI_PAGE; if(1) { #log open INPUT, ">>cnlog.txt"; print INPUT $URL; print INPUT "\n"; close INPUT; } #log $response=$browser->get($URL, @ns_headers); $content=$response->as_string; $content1=$content; $filestartstr="<a class=\"CategoryTreeLabel CategoryTreeLabelNs14 CategoryTreeLabelCategory\" href=\"/wiki/Category:"; while(index($content1, $filestartstr)>=0) { #while there is more children print "c "; { # extract a Child cat line $filestartstr="<a class=\"CategoryTreeLabel CategoryTreeLabelNs14 CategoryTreeLabelCategory\" href=\"/wiki/Category:"; $filestart=index($content1, $filestartstr); $content1=substr($content1, $filestart+99); $fileendstr="</a></div>"; $fileend=index($content1, $fileendstr); $content2=substr($content1, 0, $fileend); $content1=substr($content1, $fileend+10); } # extract a Child cat line { # cat name and Uname $fileendstr="\">"; $fileend=index($content2, $fileendstr); $aChildU[$nChild]=substr($content2, 0, $fileend); $aChild[$nChild]=substr($content2, $fileend+2); } # cat name and Uname $nChild+=1; } #while there is more children # next 200? $filestartstr="<br style=\"clear:both;\"/>"; $filestart=index($content, $filestartstr); $content1=substr($content, $filestart+25); $fileendstr="<h2>"; $fileend=index($content1, $fileendstr); $content1=substr($content1, 0, $fileend); $filestartstr="200</a>)<div id"; } # while there is "next 200" } ## check if there is "next 200" ## sort print "sort "; my $i,$j; my $swap; for($i=0;$i<$nChild-1;$i+=1) { for($j=$i+1;$j<$nChild;$j+=1) { if($aChild[$i] gt $aChild[$j]) { $swap=$aChild[$i]; $aChild[$i]=$aChild[$j]; $aChild[$j]=$swap; $swap=$aChildU[$i]; $aChildU[$i]=$aChildU[$j]; $aChildU[$j]=$swap; } } } print "entered current page. nChild="; print $nChild; print "\n"; if(0) { #debug open INPUT, ">>debug1.txt"; my $i; for($i=0;$i<$nChild;$i+=1) { print INPUT $aChild[$i]; print INPUT " "; print INPUT $aChildU[$i]; print INPUT "\n"; } print INPUT "\n\n\n"; close INPUT; } #debug } # list and sort all children if(1) { #log open INPUT, ">>cnlog.txt"; print INPUT "Digui: Cat="; print INPUT $vName; print INPUT ", Tree="; for($i=0;$i<$vDepth;$i+=1) { print INPUT $aTree[$i]; print INPUT ">"; } print INPUT "\n"; print INPUT " "; print INPUT $nChild; print INPUT " children: "; for($i=0;$i<$nChild;$i+=1) { print INPUT $aChild[$i]; print INPUT " "; } print INPUT "\n"; close INPUT; } #log my $i; for($i=0;$i<$nChild;$i+=1) { # check and add catnav to all children my $cnDepth; my $bFound=0; #found same tree? my $bSame=1; #cat name is the same? my $cnFound=0; # get edit content $WIKI_PAGE=$aChildU[$i]; #$WIKI_PAGE="%E4%BA%9A%E6%B4%B2%E5%9B%BD%E5%AE%B6"; $URL="http://".$WIKI_PATH."/w/index.php?title=Category:".$WIKI_PAGE."&action=edit"; $response=$browser->get($URL, @ns_headers); $content=$response->as_string; # Get EditToken ($editToken) = ( $content =~ m/value\=\"([0-9a-f\\]*)\" name\=\"wpEditToken\"/ ); ($editTime) = ( $content =~ m/value\=\"([0-9a-f]*)\" name\=\"wpEdittime\"/ ); $filestartstr="<textarea tabindex='1' accesskey=\",\" name=\"wpTextbox1\" id=\"wpTextbox1\" rows='25'"; $fileendstr="</textarea>"; $filestart= index($content, $filestartstr); $filestart+=92; $fileend= index($content, $fileendstr); $content=substr($content, $filestart, $fileend-$filestart); # check if there is Catnav $filestartstr="{{Catnav|"; $content1=$content; while(index($content1, $filestartstr)>=0) { #while there is still Catnav $cnFound=1; $cnDepth=0; $filestart=index($content1, $filestartstr); $content1=substr($content1, $filestart+9); $fileendstr="}}"; $fileend=index($content1, $fileendstr); $content2=substr($content1, 0, $fileend); $content1=substr($content1, $fileend+1); $filestartstr="|"; while(index($content2, $filestartstr)>=0) { #while there is | $filestart=index($content2, $filestartstr); $cnTree[$cnDepth]=substr($content2, 0, $filestart); $content2=substr($content2, $filestart+1); $cnDepth+=1; } #while there is | #the last one $cnTree[$cnDepth]=$content2; $cnDepth+=1; if(0) { #debug open INPUT, ">>debug1.txt"; my $j; for($j=0;$j<$cnDepth;$j+=1) { # check and add catnav to all children { print INPUT $cnTree[$j]; print INPUT " "; } print INPUT "\n\n\n"; } # check and add catnav to all children } #debug $bSame=1; if($vDepth == $cnDepth) { for($j=0;$j<$cnDepth;$j+=1) { if($cnTree[$j] ne $aTree[$j]) { $bSame=0;} } } else { $bSame=0; } if($bSame) { $bFound=1; } $filestartstr="{{Catnav|"; } #while there is still Catnav print "entered child page. bFound="; print $bFound; print "\n"; if($bFound<1) { # add new tree my $treecontent; $treecontent="{{Catnav"; for($j=0;$j<$vDepth;$j+=1) { $treecontent=$treecontent."|".$aTree[$j]; } if($cnFound) { $treecontent=$treecontent."}}\n"; } else { $treecontent=$treecontent."}}\n\n"; } $content=$treecontent.$content; $WIKI_PAGE=$aChildU[$i]; $URL="http://".$WIKI_PATH."/w/index.php?title=Category:".$WIKI_PAGE."&action=edit"; #check for illegal characters my $special_char; $special_char="""; #" while(index($content, $special_char)>=0) { substr($content, index($content, $special_char), length($special_char) ) ="\""; } $special_char="<"; #< while(index($content, $special_char)>=0) { substr($content, index($content, $special_char), length($special_char) ) ="<"; } $special_char=">"; #> while(index($content, $special_char)>=0) { substr($content, index($content, $special_char), length($special_char) ) =">"; } $special_char="&"; #& while(index($content, $special_char)>=0) { substr($content, index($content, $special_char), length($special_char) ) ="&"; } if(1) {#Update $response=$browser -> post($URL, @ns_headers, Content_Type=>'form-data',Content=> [ wpTextbox1 => $content, wpSummary => "[[User:xcnbot|xcnbot]] testing", wpSave => "Save page", wpSection => "", wpEdittime => $editTime, wpEditToken => $editToken, wpMinoredit => "1", ]); print "Change made\n"; if(1) { #log open INPUT, ">>cnlog.txt"; print INPUT " Child:"; print INPUT $aChild[$i]; print INPUT " change made.\n"; close INPUT; } #log } #Update } } # check and add catnav to all children # call sub-gotocat on every child my $ch; for($ch=0;$ch<$nChild;$ch+=1) { # Change @aTree if(1) { #log open INPUT, ">>cnlog.txt"; print INPUT "Go into: Child="; print INPUT $aChild[$ch]; print INPUT "\n"; close INPUT; } #log $aTree[$vDepth]=$aChild[$ch]; &gotocat($aChild[$ch], $aChildU[$ch], $vDepth+1, @aTree); if(1) { #log open INPUT, ">>cnlog.txt"; print INPUT "Jump outto: Parent="; print INPUT $vName; print INPUT "\n"; close INPUT; } #log } } #递归程序
阿波羅5號 | |||||
---|---|---|---|---|---|
任務概要 | |||||
任務名稱 | 阿波羅5號 | ||||
稱呼 | AS-204 | ||||
登月艙 | LM-1 | ||||
運載火箭 | 土星IB號 SA-204 | ||||
隊員人數 | 0 | ||||
發射 | 1968年1月22日 22:48:09 UTC 卡納維爾角 LC 37B | ||||
返回 | 1968年1月23日 09:58:00 UTC | ||||
任務時間 | 11小時10分鐘 | ||||
環繞軌道次數 | 7.5 | ||||
遠地點 | 214千米 | ||||
近地點 | 162千米 | ||||
飛行距離 | 300,000千米 | ||||
質量 | 14,360千克 | ||||
導航 | |||||
|
目標
阿波羅5的任務是在太空中測試登月艙,特別是新的引擎功能,該引擎有能力單獨起飛和降落。這個的引擎將成為第一架能夠在太空發射的火箭發動機。
延誤
同阿波羅4號,這次飛行被延誤了很長時間。主要原因是登月艙。它與預計時相差很遠。除了一些延誤可被歸咎於缺乏建立一個載人降落月球的太空船經驗。
它已被計劃在1967年4月發射阿波羅5號時運送普,是在1966年9月起有的希望。但是,延誤還是不斷發生。儘管登月艙完全被設計了,但還是有需要量身訂製的零部件。重要引擎及零件也全部出了問題。開始時,引擎順利地啟動,沒有被燒著,並且沒有上升引擎製造和焊接的困難。
雖然這些問題最終被解決了,但是花了幾個月和它直到1967年6月23日才那登月艙到達海角隨車攜帶航空的Spacelines的超級Guppy。在四個月的試驗和修補以後登月艙被在11月19日配對到發射工具。
在1967年12月17日,一次LM試驗沒通過Grumman上升階段製造植物。在 LM-5 中的一扇窗口(阿波羅 11 的 LM 的「鷹」)在其最初的小屋加壓試驗期間粉碎,設計是 39 增壓小屋 kPa(5.7 lbf/in2)。既內部又外部的窗口和丙烯酸的玻璃 右手的窗口的封面在壓力找到 35 kPa 時粉碎(5.1 lbf/in2)。在1967年12月28日,被決定設法把在 LM-1 中的玻璃窗口替換成鋁窗口,作為在類似於在檢查方面在 LM-5 上出現的一個的飛行中的一次失敗對面的防範。
飛行
阿波羅5號的發射工具是土星IB,一隻更小的火箭較之土星V。但是有能力啟動 阿波羅航天船 到地球軌道中。土星IB在阿波羅5號被使用的如-204是原來被打算的一個阿波羅1號。曾經不損壞在火中在發射建築群 34 和在發射建築群被重新召集用於阿波羅5發射的37B。
LM-1的窗口被取代在有固態的鋁的飛行之前覆鍍。縮短登月艙的發送時間,沒組件的腿也行被決定。不跟一群機務人員一起,沒有需要發射逃跑系統火箭那通常坐在上這非常土星的秘訣。作為一個結果,被裝配的火箭是僅僅55米高的。
在1968年1月22日,在已計劃的發射日期後八月,阿波羅5號正好在日落之前升上太空。土星IB完美的完成工作,把第二個階段和LM插入163乘222公里的軌道。登月艙 45分鐘以後分開,在兩條軌道開始其下降引擎的一塊已計劃39塊第二灼傷以後。這被縮減在由隨車攜帶的指導計算機所作的四秒以後,發現那引擎的刺不足夠迅速地在增強。這是由於軟體的bug在推進的坦克被偏袒地只是保持近於正常的氣壓,它花長時間較之達到徹底的加速的被製作節目的四秒。
被搬到一個交換的計劃的地控制器。他們打開指導計算機和開始自動次序到隨車攜帶的計算機中製作節目。這另外二次點燃下降引擎。然後「在洞」試驗「中」實施「火」和另一塊上升引擎灼傷。
在四條軌道以後任務經過,二個階段到太平洋中被留給衰退幾百公里的西南關島。
1968-007A的阿波羅5號的LM上升階段腐爛於1968年1月24日。1968-007B的LM下降階段腐爛於1968年2月12日。
勳章
這次修補沒有被美國國家航空暨太空總署設計但是通過設計和建造登月艙的在 Grumman 飛機的工程師。為火在洞的試驗畫像。也拿著在最高權利中的衛星,顯示沒有起落架的LM。