欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

go語(yǔ)言重定向輸入,go重寫方法

重定向用什么方法好?

方法

作為一家“創(chuàng)意+整合+營(yíng)銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。成都創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營(yíng)銷運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷方法,創(chuàng)造更大的價(jià)值。

301 Redirect實(shí)現(xiàn)網(wǎng)頁(yè)重定向

IIS服務(wù)器實(shí)現(xiàn)301重定向

* 打開internet信息服務(wù)管理器,在欲重定向的網(wǎng)頁(yè)或目錄上按右鍵

* 選擇“重定向到URL”

* 在“重定向到”輸入框中輸入要跳轉(zhuǎn)到的目標(biāo)網(wǎng)頁(yè)的URL地址

* 選中“資源的永久重定向”(切記)

* 最后點(diǎn)擊“應(yīng)用”

Apache服務(wù)器實(shí)現(xiàn)301重定向

相比較來(lái)說(shuō),Apache實(shí)現(xiàn)起來(lái)要比IIS簡(jiǎn)單多了。在Apache中,有個(gè)很重要的文件.htaccess,通過(guò)對(duì)它的設(shè)置,可以實(shí)現(xiàn)很多強(qiáng)大的功能,301重定向只是其中之一。

Redirect permanent / (將目錄下內(nèi)容重定向到 )

redirect permanent /index.php (將網(wǎng)頁(yè)index.php重定向到)

通過(guò)合理地配置重定向參數(shù)中的正則表達(dá)式,可以實(shí)現(xiàn)更復(fù)雜的匹配。有興趣的朋友可參考本站Apache手冊(cè)。

PHP下的301重定向

?php

Header( "HTTP/1.1 301 Moved Permanently" ) ;

Header( "Location: " );

?

ASP下的301重定向

%@ Language=VBScript %

%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location",""

%

ASP .NET下的301重定向

script runat="server"

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = "301 Moved Permanently";

Response.AddHeader ("Location","");

}

/script

ColdFusion下的301重定向

.cfheader statuscode="301" statustext="Moved permanently"

.cfheader name="Location" value=""

舊域名重定向到新域名

創(chuàng)建一個(gè).htaccess文件,并將下面提供的代碼寫入文件內(nèi),它可以確保舊域名所有的目錄或者網(wǎng)頁(yè)正確的跳轉(zhuǎn)到新域名內(nèi)。

記住.htaccess文件一定要放在舊網(wǎng)站的根目錄下,并且新網(wǎng)站要和舊網(wǎng)站保持相同的目錄結(jié)構(gòu)及網(wǎng)頁(yè)文件

Options +FollowSymLinks

RewriteEngine on

RewriteRule (.*) [R=301,L]

請(qǐng)將上面的修改成你想要跳轉(zhuǎn)到的域名。

此外,這里建議大家歸總舊網(wǎng)站的外部鏈接,并聯(lián)系相應(yīng)的站點(diǎn)修改導(dǎo)入鏈鏈的URL,以指向新站點(diǎn)。

域名301重定向到www的二級(jí)域名

在以前的文章中我反復(fù)提及過(guò):是domain.com域下的一個(gè)二級(jí)域名,并對(duì)二級(jí)域名和一級(jí)目錄之間如何選擇以及網(wǎng)站結(jié)構(gòu)優(yōu)化做了一個(gè)詳細(xì)的分析,有興趣的可以讀一下兩篇文章,網(wǎng)站結(jié)構(gòu)優(yōu)化是SEO中最重要。

OK,繼續(xù)域301跳轉(zhuǎn)到www二級(jí)域的實(shí)現(xiàn)方式:

創(chuàng)建一個(gè).htaccess文件,并將下面提供的代碼寫入文件內(nèi),它可以確保所有來(lái)自對(duì)domain.com的請(qǐng)求都轉(zhuǎn)向到對(duì)進(jìn)行請(qǐng)求。

Options +FollowSymlinks

RewriteEngine on

rewritecond %{http_host} ^domain.com [nc]

rewriterule ^(.*)$ [r=301,nc]

請(qǐng)將上面的domain.com和修改成你想要跳轉(zhuǎn)到的域名。

注意:.htaccess文件只有在使用安裝有Mod Rewrite模塊的Apache作為WEB服務(wù)器的Linux主機(jī)上才能起作用

如何讓命令行程序支持管道和重定向輸入

管道和重定向輸入的數(shù)據(jù)都是通過(guò)標(biāo)準(zhǔn)輸入傳入程序的,?os.Stdin?即為標(biāo)準(zhǔn)輸入。

可以通過(guò)?golang.org/x/crypto/ssh/terminal?的?terminal.IsTerminal(0)?判斷是否是管道和重定向輸入,為什么是?0?:因?yàn)闃?biāo)準(zhǔn)輸入的文件描述符是?0

為?true?時(shí)表示是交互式環(huán)境

為?false?時(shí)是我們要的場(chǎng)景

首先需要安裝?golang.org/x/crypto/ssh/terminal?這個(gè)包(安裝時(shí)需要 VPN 的輔助):

go get golang.org/x/crypto/ssh/terminal

也可以使用?github.com/mattn/go-isatty?這個(gè)包:

!isatty.IsTerminal(os.Stdin.Fd())

下面是示例代碼:

package mainimport (

"flag"

"fmt"

"io/ioutil"

"os"

"strings"

"golang.org/x/crypto/ssh/terminal")func main() {

flag.Parse()

data := flag.Args()

if !terminal.IsTerminal(0) {

? ? ?b, err := ioutil.ReadAll(os.Stdin)

? ? ?if err == nil {

? ? ? ? ? ? ?data = append(data, string(b))

? ? ?}

}

fmt.Println(strings.Join(data, " "))}

測(cè)試效果:

$ echo "hello" hello.txt

$ go run main.go hello world ? ? ? # 參數(shù)輸入hello world

$ cat hello.txt | go run main.go ? # 管道輸入hello

$ go run main.go hello.txt ? ? ? # 重定向輸入hello

$

golang 控制重定向

在Client的字段中,有一個(gè) CheckRedirect ,此字段就是用來(lái)控制重定向的函數(shù),如果沒(méi)有定義此字段的話,將會(huì)使用默認(rèn)的 defaultCheckRedirect 方法。

默認(rèn)的轉(zhuǎn)發(fā)策略是最多轉(zhuǎn)發(fā)10次。

在轉(zhuǎn)發(fā)的過(guò)程中,某一些包含安全信息的Header,比如 Authorization 、 WWW-Authenticate 、 Cookie 等,如果轉(zhuǎn)發(fā)是跨域的,那么這些Header不會(huì)復(fù)制到新的請(qǐng)求中。

http的重定向判斷會(huì)默認(rèn)處理以下狀態(tài)碼的請(qǐng)求:

301 (Moved Permanently)

302 (Found)

303 (See Other)

307 (Temporary Redirect)

308 (Permanent Redirect)

301、302和303請(qǐng)求將會(huì)改用Get訪問(wèn)新的請(qǐng)求,而307和308會(huì)使用原有的請(qǐng)求方式。

那么,我們?nèi)绾稳タ刂浦囟ㄏ虻拇螖?shù),甚至是禁止重定向呢?這里其實(shí)就需要我們自己去實(shí)現(xiàn)一個(gè)CheckRedirect函數(shù)了,首先我們來(lái)看看默認(rèn)的defaultCheckRedirect方法:

第一個(gè)參數(shù)req是即將轉(zhuǎn)發(fā)的request,第二個(gè)參數(shù) via是已經(jīng)請(qǐng)求過(guò)的requests。可以看到其中的邏輯是判斷請(qǐng)求過(guò)的request數(shù)量,大于等于10的時(shí)候返回一個(gè)error,這也說(shuō)明默認(rèn)的最大重定向次數(shù)為10次,當(dāng)此函數(shù)返回error時(shí),即是重定向結(jié)束的時(shí)候。

所以如果需要設(shè)置重定向次數(shù),那么復(fù)制一份這個(gè)函數(shù),修改函數(shù)名字和其中if判斷的數(shù)字,然后在生成Client時(shí)設(shè)定到Client即可:

或者:

禁止重定向則可以把判斷數(shù)字修改為0。最好相應(yīng)地修改errors中提示的信息。

Go語(yǔ)言常量和輸入輸出

Go語(yǔ)言常量和C語(yǔ)言差不多

Go語(yǔ)言定義常量const不能少,數(shù)據(jù)類型可以不寫

Go語(yǔ)言定義常量不能用:=

Go語(yǔ)言定義常量沒(méi)有賦初值,那么值就和上一行的常量的值相等

Go語(yǔ)句中沒(méi)有明確枚舉的固定寫法, 但是在企業(yè)開發(fā)中一般都會(huì)常量組的形式來(lái)表示枚舉

const(

枚舉元素 = 值

枚舉元素 = 值

)

用法:

const(

num = itoa

num2 = itoa

)

itoa從0開始,遇到一行賦值就+1

例如:

golang 進(jìn)程創(chuàng)建,fork,以及熱重啟(無(wú)縫升級(jí))

一般來(lái)說(shuō),進(jìn)程的操作使用的是一些系統(tǒng)的命令,所以go內(nèi)部使用os包,進(jìn)行一些運(yùn)行系統(tǒng)命令的操作

os 包及其子包 os/exec 提供了創(chuàng)建進(jìn)程的方法。

一般的,應(yīng)該優(yōu)先使用 os/exec 包。因?yàn)?os/exec 包依賴 os 包中關(guān)鍵創(chuàng)建進(jìn)程的 API,為了便于理解,我們先探討 os 包中和進(jìn)程相關(guān)的部分。

Unix :fork創(chuàng)建一個(gè)進(jìn)程,(及其一些變種,如 vfork、clone)。

Go:Linux 下創(chuàng)建進(jìn)程使用的系統(tǒng)調(diào)用是 clone。

允許一進(jìn)程(父進(jìn)程)創(chuàng)建一新進(jìn)程(子進(jìn)程)。具體做法是,新的子進(jìn)程幾近于對(duì)父進(jìn)程的翻版:子進(jìn)程獲得父進(jìn)程的棧、數(shù)據(jù)段、堆和執(zhí)行文本段的拷貝??蓪⒋艘暈榘迅高M(jìn)程一分為二。

終止一進(jìn)程,將進(jìn)程占用的所有資源(內(nèi)存、文件描述符等)歸還內(nèi)核,交其進(jìn)行再次分配。參數(shù) status 為一整型變量,表示進(jìn)程的退出狀態(tài)。父進(jìn)程可使用系統(tǒng)調(diào)用 wait() 來(lái)獲取該狀態(tài)。

目的有二:其一,如果子進(jìn)程尚未調(diào)用 exit() 終止,那么 wait 會(huì)掛起父進(jìn)程直至子進(jìn)程終止;其二,子進(jìn)程的終止?fàn)顟B(tài)通過(guò) wait 的 status 參數(shù)返回。

加載一個(gè)新程序(路徑名為 pathname,參數(shù)列表為 argv,環(huán)境變量列表為 envp)到當(dāng)前進(jìn)程的內(nèi)存。這將丟棄現(xiàn)存的程序文本段,并為新程序重新創(chuàng)建棧、數(shù)據(jù)段以及堆。通常將這一動(dòng)作稱為執(zhí)行一個(gè)新程序。

沒(méi)有直接提供 fork 系統(tǒng)調(diào)用的封裝,而是將 fork 和 execve 合二為一,提供了 syscall.ForkExec。如果想只調(diào)用 fork,得自己通過(guò) syscall.Syscall(syscall.SYS_FORK, 0, 0, 0) 實(shí)現(xiàn)。

os.Process 存儲(chǔ)了通過(guò) StartProcess 創(chuàng)建的進(jìn)程的相關(guān)信息。

一般通過(guò) StartProcess 創(chuàng)建 Process 的實(shí)例,函數(shù)聲明如下:

它使用提供的程序名、命令行參數(shù)、屬性開始一個(gè)新進(jìn)程。StartProcess 是一個(gè)低級(jí)別的接口。os/exec 包提供了高級(jí)別的接口,一般應(yīng)該盡量使用 os/exec 包。如果出錯(cuò),錯(cuò)誤的類型會(huì)是 *PathError。

屬性定義如下:

FindProcess 可以通過(guò) pid 查找一個(gè)運(yùn)行中的進(jìn)程。該函數(shù)返回的 Process 對(duì)象可以用于獲取關(guān)于底層操作系統(tǒng)進(jìn)程的信息。在 Unix 系統(tǒng)中,此函數(shù)總是成功,即使 pid 對(duì)應(yīng)的進(jìn)程不存在。

Process 提供了四個(gè)方法:Kill、Signal、Wait 和 Release。其中 Kill 和 Signal 跟信號(hào)相關(guān),而 Kill 實(shí)際上就是調(diào)用 Signal,發(fā)送了 SIGKILL 信號(hào),強(qiáng)制進(jìn)程退出,關(guān)于信號(hào),后續(xù)章節(jié)會(huì)專門講解。

Release 方法用于釋放 Process 對(duì)象相關(guān)的資源,以便將來(lái)可以被再使用。該方法只有在確定沒(méi)有調(diào)用 Wait 時(shí)才需要調(diào)用。Unix 中,該方法的內(nèi)部實(shí)現(xiàn)只是將 Process 的 pid 置為 -1。

通過(guò) os 包可以做到運(yùn)行外部命令,如前面的例子。不過(guò),Go 標(biāo)準(zhǔn)庫(kù)為我們封裝了更好用的包: os/exec,運(yùn)行外部命令,應(yīng)該優(yōu)先使用它,它包裝了 os.StartProcess 函數(shù)以便更容易的重定向標(biāo)準(zhǔn)輸入和輸出,使用管道連接 I/O,以及作其它的一些調(diào)整。

exec.LookPath 函數(shù)在 PATH 指定目錄中搜索可執(zhí)行程序,如 file 中有 /,則只在當(dāng)前目錄搜索。該函數(shù)返回完整路徑或相對(duì)于當(dāng)前路徑的一個(gè)相對(duì)路徑。

func LookPath(file string) (string, error)

如果在 PATH 中沒(méi)有找到可執(zhí)行文件,則返回 exec.ErrNotFound。

Cmd 結(jié)構(gòu)代表一個(gè)正在準(zhǔn)備或者在執(zhí)行中的外部命令,調(diào)用了 Run、Output 或 CombinedOutput 后,Cmd 實(shí)例不能被重用。

一般的,應(yīng)該通過(guò) exec.Command 函數(shù)產(chǎn)生 Cmd 實(shí)例:

用法

得到 * Cmd 實(shí)例后,接下來(lái)一般有兩種寫法:

前面講到,通過(guò) Cmd 實(shí)例后,有兩種方式運(yùn)行命令。有時(shí)候,我們不只是簡(jiǎn)單的運(yùn)行命令,還希望能控制命令的輸入和輸出。通過(guò)上面的 API 介紹,控制輸入輸出有幾種方法:

參考資料:

「測(cè)試開發(fā)全棧化-Go」(1) Go語(yǔ)言基本了解

作為一個(gè)測(cè)試,作為一個(gè)測(cè)試開發(fā), 全棧化+管理 是我們未來(lái)的發(fā)展方向。已經(jīng)掌握了Java、Python、HTML的你,是不是也想了解下最近異?;鸨腉o語(yǔ)言呢?來(lái)吧,讓我們一起了解下。

Go 是一個(gè)開源的編程語(yǔ)言 ,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易。

Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發(fā),后來(lái)還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開源,在2012年早些時(shí)候發(fā)布了Go 1穩(wěn)定版本。現(xiàn)在Go的開發(fā)已經(jīng)是完全開放的,并且擁有一個(gè)活躍的社區(qū)。這三個(gè)人都是計(jì)算機(jī)界的大神,有的參與了C語(yǔ)言的編寫,有的還是數(shù)學(xué)大神,有的還獲得了計(jì)算機(jī)最高榮譽(yù)-圖靈獎(jiǎng)。

接下來(lái)說(shuō)說(shuō) Go語(yǔ)言的特色 :

簡(jiǎn)潔、快速、安全

并行、有趣、開源

內(nèi)存管理、數(shù)組安全、編譯迅速

Go語(yǔ)言的用途 :

Go 語(yǔ)言被設(shè)計(jì)成一門應(yīng)用于搭載 Web 服務(wù)器,存儲(chǔ)集群或類似用途的巨型中央服務(wù)器的系統(tǒng)編程語(yǔ)言。

對(duì)于高性能分布式系統(tǒng)領(lǐng)域而言,Go 語(yǔ)言無(wú)疑比大多數(shù)其它語(yǔ)言有著更高的開發(fā)效率。它提供了海量并行的支持,這對(duì)于 游戲 服務(wù)端的開發(fā)而言是再好不過(guò)了。

Go語(yǔ)言的環(huán)境安裝:

建議直接打開 官方地址因?yàn)閴Φ脑虼虿婚_

因?yàn)槲矣玫氖莣indows系統(tǒng),這里主要講下Windows系統(tǒng)上使用Go語(yǔ)言來(lái)編程。

Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.17.2.windows-amd64.msi)的安裝包來(lái)安裝。

默認(rèn)情況下 .msi 文件會(huì)安裝在 c:Go 目錄下。你可以將 c:Gobin 目錄添加到 Path 環(huán)境變量中。添加后你需要重啟命令窗口才能生效。個(gè)人建議還是安裝到 Program Files文件夾中。

使用什么開發(fā)工具來(lái)對(duì)Go語(yǔ)言進(jìn)行編寫:

個(gè)人建議用VS code, 也可以用Sublime Text來(lái)編輯。如果你之前看了我講的HTML語(yǔ)言的學(xué)習(xí),肯定已經(jīng)下載了VS code. 那么這時(shí)你需要在VS code中下載Go語(yǔ)言的擴(kuò)展插件。

這里有一個(gè)巨大的坑,就是在下載Go的插件和依賴包時(shí),會(huì)提示一些包沒(méi)有。主要是因?yàn)橄螺d的依賴包部分被墻了,只能想別的辦法去下載。

建議參考網(wǎng)頁(yè):

解決vscode中g(shù)olang插件安裝失敗方法

在學(xué)習(xí)go的過(guò)程中,使用的是vscode,但是一直提示安裝相關(guān)插件失敗,然后上網(wǎng)查方法,基本上是叫你建立golang.org目錄什么的,結(jié)果全是錯(cuò)的,而且都是抄襲,很煩。無(wú)意之中看到一位博主分享的方法,他也是飽受上述的垃圾博文困擾,然后找到了解決方法,這里向他致敬,秉著讓更多人看到正確解決方法的心,我寫下正確的解決方法,希望對(duì)你有所幫助,也可以點(diǎn)開原博主鏈接參考:

Go有一個(gè)全球模塊代理,設(shè)置代理再去安裝golang的插件,就可以安裝成功了。步驟有,首先Windows用戶打開Powershell,一個(gè)藍(lán)色的界面,注意不是cmd!不知道的直接打開window下面的搜索,然后輸入powershell,搜索出來(lái)就可以了。

$env:GO111MODULE=“on”

$env:GOPROXY=“”

go env -w GOPROXY=

go env -w GOPRIVATE=*.corp.example.com

然后我們打開VsCode界面,下面會(huì)提示安裝插件,我們選擇Install ALL,就會(huì)安裝成功

當(dāng)你在運(yùn)行Go語(yǔ)言程序時(shí),提示所有的插件包都已經(jīng)安裝成功了時(shí),就可以正常使用了,要不然一堆報(bào)錯(cuò)會(huì)讓你非常心煩。

好了,今天先到這里,晚安、下班~

分享文章:go語(yǔ)言重定向輸入,go重寫方法
文章地址:http://aaarwkj.com/article26/hchecg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、電子商務(wù)建站公司、動(dòng)態(tài)網(wǎng)站標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
亚洲欧洲中文字幕一区二区| 欧美视频在线观看香蕉| 亚洲成人av在线播放观看| 91国产网址在线观看| 成人在线免费黄色小说| av高清不卡一区二区免费在线| 青青草原一区二区三区| 久久亚洲精品中文字幕馆| 成年人免费观看黄色片| 日韩一区不卡在线观看| 亚洲中文有码在线播放| 欧美日韩国产一区在线观看 | 久久精品国产亚洲av超一| 成年人免费国产视频网站| 天天干夜夜操操操操| 麻豆蜜桃精品视频在线观看| 国产传媒在线播放一区| 日韩av亚洲在线观看| 亚洲综合色视频免费在线播放| 亚洲综合一区国产精品| 后入蜜桃臀美女在线观看| 精品人妻一区二区三区蜜桃电| 男人的天堂久久精品激情| 亚洲日本欧洲二区精品| 亚洲伦理一区二区三区中文| 我的农村中年激情熟妇| 91麻豆精品一二三区在线| 国产精品日本一区二区| 日本熟妇中文字幕三级久久| 青青草免费公开视频久久| 精品一二三四五区亚洲乱码| 国产91日韩欧美在线观看 | 久久女同互慰一区二区三区| 一本久道久久综合久久鬼色| 最新在线中文字幕av不卡| 国产三级精品三级专区| 亚洲三区久久婷婷激情| 麻豆文化传媒免费网址| 四虎精品在线免费视频| 亚洲狠狠爱一区二区三区| 92午夜福利在线视频|