Penyingkiran prototaip tidak sah

WBOY
Lepaskan: 2024-02-09 13:51:08
ke hadapan
585 orang telah melayarinya

Penyingkiran prototaip tidak sah

editor php Yuzai memperkenalkan kepada anda "Penyusunan Prototaip Tidak Sah". Dalam pembangunan perisian, prototaip ialah konsep penting yang digunakan untuk mengesahkan dan menunjukkan idea reka bentuk dengan cepat. Walau bagaimanapun, kadangkala prototaip dianggap tidak berkesan kerana ia mungkin tidak mencapai matlamat yang diingini atau memenuhi keperluan pengguna. Dalam kes ini, kita perlu membatalkan prototaip, mengetahui masalah dan mencari penyelesaian. Artikel ini meneroka kepentingan penyahkumpulan tidak berkesan prototaip dan cara melakukannya dengan berkesan.

Kandungan soalan

Saya cuba menyahkod data mentah. Tetapi prototaip tidak dinyahkod dengan betul.

Ini yang saya lakukan:

decodedstr, err := base64.stdencoding.decodestring(request.body)
if err != nil {
    panic("malformed input")
}

data := &tracepb.exporttraceservicerequest{}
if err := proto.unmarshal(decodedstr, data); err != nil {
        log.fatalln("failed to parse:", err)
}

log.printf("response - %v", data)
Salin selepas log masuk

Keluaran adalah seperti berikut:

response - resource_spans:{resource:{attributes:{key:"service.name"  value:{string_value:"node_app"}}  attributes:{key:"telemetry.sdk.language"  value:{string_value:"nodejs"}}  attributes:{key:"telemetry.sdk.name"  value:{string_value:"opentelemetry"}}  attributes:{key:"telemetry.sdk.version"  value:{string_value:"1.8.0"}}  attributes:{key:"process.pid"  value:{int_value:1}}  attributes:{key:"process.executable.name"  value:{string_value:"node"}}  attributes:{key:"process.command"  value:{string_value:"/usr/app/index.js"}}  attributes:{key:"process.command_line"  value:{string_value:"/usr/local/bin/node /usr/app/index.js"}}  attributes:{key:"process.runtime.version"  value:{string_value:"18.13.0"}}  attributes:{key:"process.runtime.name"  value:{string_value:"nodejs"}}  attributes:{key:"process.runtime.description"  value:{string_value:"node.js"}}}  scope_spans:{scope:{name:"@opentelemetry/instrumentation-express"  version:"0.32.0"}  spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fq\xc0"  span_id:"t\x06\x89m\x1ex\xf9a"  parent_span_id:"?\xbc\x18`o\xa5\xb8\xe1"  name:"middleware - query"  kind:span_kind_internal  start_time_unix_nano:1673434036590614272  end_time_unix_nano:1673434036590671104  attributes:{key:"http.route"  value:{string_value:"/"}}  attributes:{key:"express.name"  value:{string_value:"query"}}  attributes:{key:"express.type"  value:{string_value:"middleware"}}  status:{}}  spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fq\xc0"  span_id:"\xd5c\xf7>\xf6cxz"  parent_span_id:"?\xbc\x18`o\xa5\xb8\xe1"  name:"middleware - expressinit"  kind:span_kind_internal  start_time_unix_nano:1673434036590760704
Salin selepas log masuk

Saya tidak tahu mengapa paparan traceid seperti ini:

spans:{trace_id:"\xb5\x81\x91\x8b\x02\x9a/\xf1\x08\x06\xaf~\xea\x9fQ\xc0"
Salin selepas log masuk

Saya baru dalam bidang bahasa. Sebarang bantuan akan sangat dihargai

Penyelesaian

Penggunaanencoding/hex模块的hex.EncodeToString()函数将bytes转换为hex

Atas ialah kandungan terperinci Penyingkiran prototaip tidak sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!